我想在我的應用程序中使用自動釋放。我想實現這個方法 如何在iPhone中使用自動釋放
- (void)selectorConnect: (NSArray *)args
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
//some code
[pool release];
}
獲得墜毀在[pool release]
線。任何解決方案。
我想在我的應用程序中使用自動釋放。我想實現這個方法 如何在iPhone中使用自動釋放
- (void)selectorConnect: (NSArray *)args
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
//some code
[pool release];
}
獲得墜毀在[pool release]
線。任何解決方案。
當您清空自動釋放池時,它會在其內部的所有對象上調用autorelease
。
如果你遇到了[pool release]
行崩潰,那麼你已經添加了一個對象到autorelease池並且已經發布了它。
運行靜態分析器,看看它給你什麼樣的警告。
如果您仍然不知道,請啓用NSZombies
並查看兩次釋放哪個對象。
最後,如果仍然沒有幫助,你的代碼添加到這個問題,我們都可以看看:)
請分析我的編輯問題。 – Dhaval
這告訴我你需要自動釋放'args'和'socketControl' - 它們正在被你引用,但沒有被釋放。但是,他們不是你的游泳池崩潰的原因。我認爲這是在導致崩潰的問題中第二次調用'[pool release]'? – deanWombourne
@deanWombourne:no,'_socketControl'是一個實例變量,並且被正確保留。分析器指向'NSNumber'對象的泄漏 – newacct
我知道這並不能回答你的問題,但爲什麼不ARC? – deanWombourne
崩潰說什麼? –
似乎無法在ARC中升級我的整個應用程序,因此我們只能使用此方法。因此,上述方法的任何解決方案? – Dhaval