3
我发现了一个类似的问题: NSMutableArray addObject in for loop - memory leakObjective-C的ADDOBJECT导致内存泄漏
但是所有这些建议似乎解决我的问题。
我有一个简单的循环,我创建一个对象并将其添加到数组。当我尝试在每个循环结束时释放对象时,应用程序将以“EXC_BAD_ACCESS”的形式崩溃。如果我不释放对象,我得到泄漏的内存:
在.H
NSMutableArray *mainlist;
...
@property (nonatomic, retain) NSMutableArray *mainList;
在.M
@synthesize mainlist;
...
for (int i = 0; i < [self.objects count]; i++) {
MyObj *myObj = [[MyObj alloc] init];
myObj.title = [[self.objects objectAtIndex: i] valueForKey: @"title"];
[self.mainlist addObject:myObj];
[myObj release]; // crashes with release
}
MyObj中只是有一些属性:
@property (nonatomic, retain) NSString *title;
@property (nonatomic, retain) NSString *date_text;
...
@synthesize title;
@synthesize date_text;
- (void)dealloc
{
[super dealloc];
[title release];
[date_text release];
}
@end
任何帮助将非常感激。
谢谢。
你可以发布'MyObj'的'init'消息吗? – 2011-05-07 13:04:22
你在* MyObj *类中重写了* init *方法吗? – EmptyStack 2011-05-07 13:05:35
我已经更新了上面的代码。没有init方法。只是getters/setters。它需要它吗? – GivP 2011-05-07 13:10:43