1
+ (Photo *)photoWithImage:(UIImage *)image {
return [[Photo alloc] initWithImage:image] ;// Potential leak of an object

}

方法返回一个具有+1保留计数的Objective-C对象作为拥有引用返回给调用者的对象(将单个保留计数转移给调用者)对象泄漏:从名称(photoWithImage)不以副本开头的方法返回分配的对象, mutableCopy、alloc 或 new

+ (Photo *)photoWithFilePath:(NSString *)path {
return [[Photo alloc] initWithFilePath:path];
}// potential leak of an object

方法返回一个具有+1保留计数的Objective-C对象作为拥有引用返回给调用者的对象(将单个保留计数转移给调用者)对象泄漏:分配的对象从名称(photoWithFilePath)不以副本开头的方法返回, mutableCopy、alloc 或 new

如果不想使用自动释放,还有其他方法可以修复它吗?

感谢帮助。

4

1 回答 1

1

您收到此错误是因为您没有遵循约定。您必须进行调整以遵循约定。由于您不想自动释放返回的对象,您可以将这些方法重命名为以 new (newPhotoWithImagenewPhotoWithPath) 开头。

你没有说为什么你不想返回自动释放的对象。也许如果您详细说明这些原因,我们可以提出更好的解决方案。

于 2012-11-15T20:03:22.553 回答