2
在我的課程中,我創建了這種方法。在完成塊中保留循環
-(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
完成塊內? (我沒有得到任何警告)
UPDATE:
在這種情況下,另一類我得到一個警告的保留週期
typedef void (^SetFavoriteCompletionBlock)(NSError*);
-(void)setFavoriteFriend:(BOOL)pSetFavorite
completion:(SetFavoriteCompletionBlock)completionBlock
{
//....
completionBlock(error);
}
然後在此調用我得到的警告
[self setFavoriteFriend:setFavorite
completion:^(NSError *error){
[self.tableView reloadData];
}];
你從哪裏得到有關保留週期的警告?而且,你可以發佈你的界面嗎? –