[英]memory management warning in Iphone
我對Objective-C編程有些懷疑。 我有這樣的功能。
+ (NSManagedObjectContext *) newContext {
NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];
if (coordinator != nil)
{
NSManagedObjectContext* managedObjectContext = [[[NSManagedObjectContext alloc] init] autorelease];
[managedObjectContext setPersistentStoreCoordinator:coordinator];
return managedObjectContext;
}
return nil;
}
但是,當我對我的項目運行分析時,我看到的是這樣的事情並發出警告
“具有+0保留計數的對象返回給調用者,其中預期+1(擁有)保留計數”
有人可以指出我為什么Xcode在這里給我一個警告。 返回任何變量的正確方法是什么?
問題不在於您的代碼,而在於您的方法名稱。 在Objective C中,分析器假定名稱以init
或new
開頭的方法返回一個保留計數為1的對象。返回一個保留計數為零的對象,因此您的方法名稱不應包含new
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.