使わないからよく忘れるObjective-Cブロック文のSyntax
typedefで定義
1 2 3 4 5 6 |
typedef ReturnType (^Name)(Parameters); 例) typedef void (^SomeHandler)(NSError *error); - (void)someWorkWithCompletion:(SomeHandler)handler { ... } |
ブロック名が真ん中にあるのが紛らわしい。 直接パラメータで定義
1 2 3 4 5 6 |
someMethodWithCompletion:(ReturnType (^)(Parameters))parameterName 例) - (void)someMethodWithCompletion:(void (^)(NSData *data))completionHandler; [someClass someMethodwithCompletion:^(NSData *data) { ... }]; |
プ […]