【发布时间】:2011-06-18 02:53:45
【问题描述】:
我正在尝试解决内存泄漏问题,但找不到任何解决方案。
仪器说这个方法有泄漏:
- (void)refreshData {
Sn0werSp33dAppDelegate *appDelegate = [[Sn0werSp33dAppDelegate alloc] init];
NSFetchRequest *coreDataNewsFetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"News" inManagedObjectContext:managedObjectContext];
[coreDataNewsFetchRequest setEntity:entity];
self.managedObjectContext = appDelegate.managedObjectContext;
self.newsArray = [[managedObjectContext executeFetchRequest:coreDataNewsFetchRequest error:nil] mutableCopy];//Intruments says that here is the memory leak :(
[appDelegate release];
[coreDataNewsFetchRequest release];
[entity release];
}
newsArray 在我的 .h 中声明为 NSMutableArray 并且它有一个属性:
@property (nonatomic, retain) NSMutableArray *newsArray;
我尝试了很多东西,但始终都没有奏效。 我正在使用 iPhone SDK 4.2.1 和 Instruments 2.7 运行 XCode 3.2.5。
【问题讨论】:
-
您应该格式化您的代码,使其可读。
-
你能把代码格式化一下吗?另外,你能说一下,仪器说什么吗?请记住,mutablecopy 不会对数组进行深层复制!
-
它只显示了一个蓝色堆栈上的一个红色堆栈。而且,代码格式正确吗?
标签: iphone objective-c cocoa-touch memory-leaks nsmutablearray