layout.jade
doctype 5
html.no-js(lang='en')
block vars
head
title #{title}
meta(name='description', content='#{description}')
body
#import <Foundation/Foundation.h> | |
@interface Node : NSObject | |
@property (nonatomic) NSInteger identifier; | |
@property (nonatomic, copy) NSString *value; | |
+ (Node *)nodeWithIdentifier:(NSInteger)identifier value:(NSString *)value; | |
@end | |
@implementation Node | |
+ (Node *)nodeWithIdentifier:(NSInteger)identifier value:(NSString *)value { |
// Taken from http://PSPDFKit.com. This snippet is under public domain. | |
#define UIKitVersionNumber_iOS_7_0 0xB57 | |
BOOL PSPDFIsUIKitFlatMode(void) { | |
static BOOL isUIKitFlatMode = NO; | |
static dispatch_once_t onceToken; | |
dispatch_once(&onceToken, ^{ | |
// We get the modern UIKit if system is running >= iOS 7 and we were linked with >= SDK 7. | |
if (kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_7_0) { | |
isUIKitFlatMode = (NSVersionOfLinkTimeLibrary("UIKit") >> 16) >= UIKitVersionNumber_iOS_7_0; | |
} |
(deftheme bubbleberry "Light Table like theme") | |
;; Based on the theme used for LightTable (see: http://www.chris-granger.com/images/lightable/main.png ) | |
;; Source: https://gist.github.com/8065710 | |
;; Original Source: https://gist.github.com/3027622 | |
(custom-theme-set-variables | |
'bubbleberry | |
'(linum-format "%3i") |
/** | |
Provides the ability to verify key paths at compile time. | |
If "keyPath" does not exist, a compile-time error will be generated. | |
Example: | |
// Verifies "isFinished" exists on "operation". | |
NSString *key = SQKeyPath(operation, isFinished); | |
// Verifies "isFinished" exists on self. |
layout.jade
doctype 5
html.no-js(lang='en')
block vars
head
title #{title}
meta(name='description', content='#{description}')
body
- (IBAction)handleTap:(id)sender | |
{ | |
BOOL isHiding = !_statusBarHidden; | |
_statusBarHidden = isHiding; | |
[UIView animateWithDuration:UINavigationControllerHideShowBarDuration delay:0 options:0 | |
animations:^{ | |
[self setNeedsStatusBarAppearanceUpdate]; | |
} | |
completion:NULL]; |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
// See: https://devforums.apple.com/message/1000934#1000934 | |
import Foundation | |
// Logic | |
operator prefix ¬ {} | |
@prefix func ¬ (value: Bool) -> Bool { | |
return !value | |
} |
operator infix --> {} | |
func --> (instance: Any, key: String) -> Any? { | |
let mirror = reflect(instance) | |
for index in 0 ..< mirror.count { | |
let (childKey, childMirror) = mirror[index] | |
if childKey == key { | |
return childMirror.value | |
} | |
} |
namespace WebSocket | |
// Appache 2.0 license | |
// References: | |
// [1] Proposed WebSockets Spec December 2011 http://tools.ietf.org/html/rfc6455 | |
// [2] John McCutchan (Google Dart Team Member) http://www.altdevblogaday.com/2012/01/23/writing-your-own-websocket-server/ | |
// [3] A pretty good Python implemenation by mrrrgn https://github.com/mrrrgn/websocket-data-frame-encoder-decoder/blob/master/frame.py | |
// [4] WebSockets Organising body http://www.websocket.org/echo.html | |
// [5] AndrewNewcomb's Gist (starting point) https://gist.github.com/AndrewNewcomb/711664 |