私のクラスでは、このメソッドを作成しました。
-(void) refreshDatasourceWithSuccess:(CreateDataSourceSuccessBlock) successBlock
failure:(CreateDataSourceFailureBlock) failureBlock;
それから私はそれをこのように呼びます:
[self refreshDatasourceWithSuccess:^(NSArray* array){
//Success block
[self setDataSource:array];
[self.tableView reloadData];
} failure:^(NSError* error){
// failure block
[self showConnnectionError];
}];
self
完了ブロック内を参照しているため、これは保持サイクルですか?(警告は表示されません)
アップデート:
この場合の別のクラスでは、保持サイクルに関する警告が表示されます
typedef void (^SetFavoriteCompletionBlock)(NSError*);
-(void)setFavoriteFriend:(BOOL)pSetFavorite
completion:(SetFavoriteCompletionBlock)completionBlock
{
//....
completionBlock(error);
}
そして、この呼び出しで私は警告を受け取ります
[self setFavoriteFriend:setFavorite
completion:^(NSError *error){
[self.tableView reloadData];
}];