ios - 我是否应该在每次使用 block 时削弱自己

标签 ios ios7 ios5 objective-c-blocks

这个 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];
}];

例如,我知道如果我们将 [KNApi getCouponsWithSearchString... 作为自身类中的 block 属性,则会导致问题。

所以假设我们的堆栈将被销毁,我将在此之前获得成功的调用。它会导致请求本身出现问题吗?

最佳答案

这取决于。 KNApi 是否保留 block ? self 保留 KNApi 吗? block 的作用是它强烈地保留 self 。它与任何其他保留没有什么不同。只要您确定该 block 正在发生什么,您就不必微弱地保留 self 。

关于ios - 我是否应该在每次使用 block 时削弱自己,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29773320/

相关文章:

ios - iOS 框架包的路径

iphone - MKMapView userLocation 在 iOS5 上错误但在 iOS4.2 上正确

objective-c - 具有清晰背景的 Segue 推送动画在 iOS 7 上闪烁

iphone - 无法使用 OpenIn 功能在应用程序中通过网络浏览器打开 docx 文件

ios - 使用 UITableView 时 tableView :numberOfRowsInSection . ..NSInvalidArgumentException

ios - SwiftyJSON 在完成时显示 progressHUD

iphone - 如何读取整数或字符串开头的 0?然后比较它们

ios - 搜索lib:带有播放列表的流音频播放器

ios - 警告 : "Sending ' NSObject *' to parameter of incompatible type ' id<NSCopying>'

ios - 在coreplot中启用x轴(水平)滚动