我dispatch_async
在那个调用中有一个调用我调用一个变量中定义的块
dispatch_async(kBgQueue, ^{
proceedDataBlock(callbackObj, buffer, mbo);
free(buffer);
});
在“内部”块中,我使用缓冲区(const char *)做一些事情并创建一个 obj-c 对象并将其传递给我的回调obj,例如
Table *dataList = [[Table alloc] init ...];
[callbackObj performSelectorOnMainThread:@selector(recieveDataModelsFinished:) withObject:[dataList autorelease] waitUntilDone:YES];
我的回调 obj 确实
-(void)recieveDataModelsFinished:(TableDataList *)dataList
{
self.tableDataList = dataList;
}
定义为
@property (nonatomic, retain) TableDataList *tableDataList;
为什么在我的回调完成后会为我的 Table 对象调用 dealloc?