【问题标题】:ARC is turned off and Analyzer is showing denials for class methodsARC 已关闭,Analyzer 显示拒绝类方法
【发布时间】:2012-11-15 19:05:40
【问题描述】:
+ (Photo *)photoWithImage:(UIImage *)image {
return [[Photo alloc] initWithImage:image] ;// Potential leak of an object

}

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

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

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

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

感谢您的帮助。

【问题讨论】:

    标签: iphone ios6


    【解决方案1】:

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

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

    【讨论】:

    • 因为我现在使用 ARC,它会自动发布和自动发布
    猜你喜欢
    • 2020-09-30
    • 1970-01-01
    • 2014-01-26
    • 1970-01-01
    • 2015-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多