[英]NSAutoreleasePool EXC_BAD_ACCESS & Questions About Memory Management in Objective-C
[英]EXC_BAD_ACCESS with NSAutoReleasePool
我正在分離一個新線程
[NSThread detachNewThreadSelector:@selector(loadAvatar) toTarget:self withObject:nil];
我正在獲取EXC_BAD_ACCESS
STObject* st = [cellitem get:@"stobject"];
在我下面的方法
-(void)loadAvatar
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
STObject* st = [cellitem get:@"stobject"];
//do stuff...
[pool release];
}
我曾嘗試保留聖人,但沒有運氣。 當我運行此代碼而不分離新線程時,我沒有任何問題。 我不太確定自己缺少什么。
UPDATE單元格是NSObject的子類,其中包含一些屬性,例如字典和字符串。
get方法基本上從字典返回一個字符串
不確定該解決方案為何有效,但是我告訴我的線程休眠0.1秒,這似乎解決了所有問題。
[NSThread detachNewThreadSelector:@selector(loadAvatar) toTarget:self withObject:nil];
[NSThread sleepForTimeInterval:0.1];
有誰知道為什么會這樣嗎? 我想睡覺會阻止某些物體過早釋放? 可能是修正的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.