常に自己の弱い参照をARCのブロックに渡しますか?
Objective-Cでのブロックの使用について少し混乱しています。私は現在ARCを使用しており、アプリには非常に多くのブロックがあり、現在は常にself弱い参照ではなく参照しています。これが、これらのブロックselfが割り当て解除されないように保持および保持する原因となる可能性がありますか?問題は、ブロック内のweak参照を常に使用する必要selfがあるかどうかです。 -(void)handleNewerData:(NSArray *)arr { ProcessOperation *operation = [[ProcessOperation alloc] initWithDataToProcess:arr completion:^(NSMutableArray *rows) { dispatch_async(dispatch_get_main_queue(), ^{ [self updateFeed:arr rows:rows]; }); }]; [dataProcessQueue addOperation:operation]; } ProcessOperation.h @interface ProcessOperation : NSOperation { NSMutableArray *dataArr; NSMutableArray *rowHeightsArr; void (^callback)(NSMutableArray *rows); } ProcessOperation.m -(id)initWithDataToProcess:(NSArray *)data completion:(void (^)(NSMutableArray *rows))cb{ if(self =[super init]){ dataArr = [NSMutableArray arrayWithArray:data]; …