Grand Central Dispatchのドキュメントを読んでいましたが、とという2つの関数がBlock_copy
ありBlock_release
ます。ドキュメントによると、これらのメソッドはdispatch_async
、ブロックのメモリ管理を処理するために呼び出し中に使用されています。私のコードでも同じことをすることになっていますか?
以下の私のコードに問題がありますか?
typedef void (^MyCompletionHandler)(NSError *error)
@interface ServiceClient
- (void)fetchWithCompletionHandler:(MyCompletionHandler)completionHandler;
@property (nonatomic, assign) MyCompletionHandler completionHandler;
@end
@implementation ServiceClient
@synthesize completionHandler = _completionHandler;
- (void)fetchWithCompletionHandler:(MyCompletionHandler)completionHandler
{
self.completionHandler = completionHandler;
[self performSelectorInBackground:@selector(fetchInBackground)];
}
@end