Block

声明 block

  • 作为 local variable

returnType (^blockName)(parameterTypes) = ^returnType(parameters) {...};

  • 作为 property:

@property (nonatomic, copy) returnType (^blockName)(parameterTypes);

  • 作为 method parameter:

- (void)someMethodThatTakesABlock:(returnType (^)(parameterTypes))blockName;

  • 作为 an argument to a method call:

[someObject someMethodThatTakesABlock:^returnType (parameters) {...}];

  • 作为 typedef:

typedef returnType (^TypeName)(parameterTypes); TypeName blockName = ^returnType(parameters) {...};

参考

http://nshipster.com/key-value-observing/

http://www.objc.io/issue-7/key-value-coding-and-observing.html

Loading Disqus comments...
Table of Contents