这个块是否会导致内存泄漏问题,因为我没有使用弱化的sell:
[KNApi getCouponsWithSearchString:self.searchString withCouponsCount:self.coupons.count withSuccess:^(id object) {
[self.coupons addObjectsFromArray:object[@"items"]];
[self.hud hide:YES];
[self.theTableView setHidden:NO];
[self.theTableView reloadData];
} withFailure:^(id object) {
[self hideLoadingIndicatorWithError:object];
}];
我知道,例如,如果我们将[KNApi getCouponsWithSearchString...
作为自我类中的块属性,则会导致问题。
假设我们的堆栈将被销毁,之前我将获得成功调用。请问自己会引起问题吗?
答案 0 :(得分:1)
这取决于。 KNApi是否保留该区块?自我保留KNApi吗?它的作用是什么,它保留了很强的自我。它与任何其他保留没有什么不同。只要你确定该块发生了什么,你就不必虚弱地保留自己。
答案 1 :(得分:0)
是的,你应该使用一个弱的自我!这是一个很好的做法
查看此部分,在"Avoid Strong Reference Cycles when Capturing self"