【发布时间】:2011-01-04 13:42:36
【问题描述】:
我正在对应用程序进行最后的润色,并且我正在摆脱所有编译器/分析器警告。
我有一堆 Class 方法来包装我的应用程序对 Core Data 实体的访问。这是在“激怒”分析者。
+ (CDProductEntity*) newProductEntity {
return (CDProductEntity*)[NSEntityDescription insertNewObjectForEntityForName:@"CDProductEntity" inManagedObjectContext:[self context]];
}
这会导致分析器警告:
返回 +0 保留计数的对象 给 +1(拥有)保留的调用者 预计计数
在调用上述类方法的方法中我有这个:
CDProductEntity *newEntity = [self newProductEntity];
这会导致分析器警告:
方法返回一个 Objective-C 对象 +1 保留计数(拥有 参考)
显式释放或自动释放 Core Data 实体通常非常糟糕,但这就是它要求我在这里做的吗? 首先它告诉我它有一个 +0 保留计数,这很糟糕,然后它告诉我它有一个 +1,这也很糟糕。
我可以做些什么来确保我正在处理分析器打嗝或我正确释放?
提前致谢
【问题讨论】:
标签: xcode ios core-data clang-static-analyzer