+ (Photo *)photoWithImage:(UIImage *)image {
return [[Photo alloc] initWithImage:image] ;// Potential leak of an object
}
Method返回一个带有+1保留计数的Objective-C对象 对象作为拥有引用返回给调用者(传递给调用者的单个保留计数) 对象泄漏:已从名称(photoWithImage)不以copy,mutableCopy,alloc或new
开头的方法返回已分配的对象+ (Photo *)photoWithFilePath:(NSString *)path {
return [[Photo alloc] initWithFilePath:path];
}// potential leak of an object
Method返回一个带有+1保留计数的Objective-C对象 对象作为拥有引用返回给调用者(传递给调用者的单个保留计数) 对象泄露:已从名称(photoWithFilePath)不以copy,mutableCopy,alloc或new
开头的方法返回已分配的对象如果不想使用自动释放,是否有其他方法可以修复它。
感谢您的帮助。
答案 0 :(得分:1)
您收到此错误是因为您没有遵守约定。您必须调整以遵循惯例。由于您不想自动释放返回的对象,因此您可以将这些方法重命名为以新的(newPhotoWithImage
和newPhotoWithPath
)开头。
您没有说明为什么您不想返回自动释放的对象。也许如果你详细说明这些原因,我们可以提出更好的解决方案。