我正在對正在創建的應用程序進行調試,但運行的儀器發現內存泄漏,我無法理解。因爲XCode Instruments發現內存泄漏:爲什麼?
消息
如果我試圖修改代碼,下列文書的建議,我的應用程序崩潰發送到釋放實例
有人能幫助我嗎?
- (void) objectAtIndex:(int)index {
SpecialObject *specialObj = [SpecialObject sharedInstance];
id model = [self.datasource objectAtIndex:index];
if ([model isKindOfClass:[ClassA class]]) {
ClassA *objA = (ClassA *)model;
specialObj.title = objA.title;
} else if ([model isKindOfClass:[ClassB class]]) {
ClassB *objB = (ClassB *)model;
specialObj.title = objB.title;
}
}
self.datasource
是NSMutableArray
而specialObj.title
是NSString
它們被定義爲@property(nonatomic, retain)
。
我的問題是儀器告訴我,這2
ClassA *objA = (ClassA *)model;
ClassB *objB = (ClassB *)model;
是泄漏,但如果我釋放objA
和objB
我的應用程序崩潰。
感謝您的幫助!
什麼類型的對象是數據源?它肯定會從該方法返回一個自動釋放對象嗎? –
嗨保羅和感謝:這是一個NSMutableArray(我編輯了第一篇文章)。 –
你能否提供'[self.datasource objectAtIndex:index]'實現? –