【发布时间】:2012-10-16 12:57:26
【问题描述】:
在我的课堂上我创建了这个方法。
-(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];
}];
【问题讨论】:
-
您从哪里得到有关保留周期的警告?而且,你也可以发布你的界面吗?
标签: iphone objective-c ios xcode cocoa