我是否应该在每次使用块时削弱自己
Should I weakify self every time using block
这个块是否会导致内存泄漏问题,因为我没有使用弱化销售:
[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];
}];
我知道,例如,如果我们在自身 class 中将 [KNApi getCouponsWithSearchString...
作为块 属性,那么它会导致问题。
所以假设我们的堆栈将被销毁,我将在此之前获得成功的调用。它会导致请求本身出现问题吗?
视情况而定。 KNApi 是否保留块?自我保留 KNApi 吗?块的作用是它强烈地保留自我。它与任何其他保留没有什么不同。只要您确定该块正在发生什么,就不必弱化自我。
是的,你应该使用弱势的自己!这是一个很好的做法
检查此部分,link 下面 "Avoid Strong Reference Cycles when Capturing self"
这个块是否会导致内存泄漏问题,因为我没有使用弱化销售:
[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];
}];
我知道,例如,如果我们在自身 class 中将 [KNApi getCouponsWithSearchString...
作为块 属性,那么它会导致问题。
所以假设我们的堆栈将被销毁,我将在此之前获得成功的调用。它会导致请求本身出现问题吗?
视情况而定。 KNApi 是否保留块?自我保留 KNApi 吗?块的作用是它强烈地保留自我。它与任何其他保留没有什么不同。只要您确定该块正在发生什么,就不必弱化自我。
是的,你应该使用弱势的自己!这是一个很好的做法
检查此部分,link 下面 "Avoid Strong Reference Cycles when Capturing self"