(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.
(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.
| - (IBAction)handleTap:(id)sender | |
| { | |
| BOOL isHiding = !_statusBarHidden; | |
| _statusBarHidden = isHiding; | |
| [UIView animateWithDuration:UINavigationControllerHideShowBarDuration delay:0 options:0 | |
| animations:^{ | |
| [self setNeedsStatusBarAppearanceUpdate]; | |
| } | |
| completion:NULL]; |
layout.jade
doctype 5
html.no-js(lang='en')
block vars
head
title #{title}
meta(name='description', content='#{description}')
body| /** | |
| 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. |
| (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") |
| // 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; | |
| } |
| #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 { |
| #define MSDesignatedInitializer(__SEL__) __attribute__((unavailable("Invoke the designated initializer `" # __SEL__ "` instead."))) | |
| // Sample usage: | |
| - (instancetype)initWithObject:(id)object; | |
| - (instancetype)init MSDesignatedInitializer(initWithObject:); // <- This even gets auto-complete. | |
| // Now calling init on this class would throw a warning. |
| // Defines a yet undocumented method to add a warning if super isn't called. | |
| #ifndef NS_REQUIRES_SUPER | |
| #if __has_attribute(objc_requires_super) | |
| #define NS_REQUIRES_SUPER __attribute((objc_requires_super)) | |
| #else | |
| #define NS_REQUIRES_SUPER | |
| #endif | |
| #endif | |
| @interface UIViewController (SubclassingWarnings) |
| // $ clang -framework Foundation -o unicode-is-hard-lets-go-shopping unicode-is-hard-lets-go-shopping.m && ./unicode-is-hard-lets-go-shopping | |
| // 2013-03-01 17:56:56.132 unicode-is-hard-lets-go-shopping[3390:707] string1='café', string2='café', string1.length=4, string2.length=5, [string1 isEqualToString:string2]=NO | |
| // 2013-03-01 17:56:56.134 unicode-is-hard-lets-go-shopping[3390:707] precomposedString1='café', precomposedString2='café', precomposedString1.length=4, precomposedString2.length=4, [precomposedString1 isEqualToString:precomposedString2]=YES | |
| #import <Foundation/Foundation.h> | |
| int main (int argc, const char * argv[]) { | |
| @autoreleasepool { | |
| NSString *string1 = [NSString stringWithUTF8String:"\x63\x61\x66\xC3\xA9\x00"]; | |
| NSString *string2 = [NSString stringWithUTF8String:"\x63\x61\x66\x65\xCC\x81\x00"]; |