作成中のアプリケーションでデバッグを行っていましたが、計測器を実行すると、理解できないメモリ リークが見つかりました。
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
アプリケーションがクラッシュします。
助けてくれてありがとう!