xcode的ARC转换错误[CFString字符串保留]崩溃(xcode ARC conversio

2019-06-24 10:52发布

我将我巨大的IOS程序中使用Xcode的自动转换为弧。 之后,我收到以下错误:[CFString字符串保留]:消息发送到释放实例

跟踪显示以下行的地方坠毁:

UIImage *image = [[UIImage alloc] initWithContentsOfFile:tile.imagePath];

在跟踪下一行给出:__ arclite_objc_retainAutoreleasedReturnValue在/SourceCache/arclite/arclite-7.1/source/arclite.m:241

有人建议我在哪里,我可以看得更远,或者我能做些什么来消除这种崩溃?

非常感谢

编辑:看起来像下面的代码(的NSString *)p初始化需要一些修改。 我应该如何改变它,这样tile.imagePath不会成为空?

- (id)initWithFrame:(MKMapRect)f path:(NSString *)p{
    if (self = [super init]) {
        imagePath = p;
        frame = f;
    }
    return self;
}

谢谢。

Answer 1:

imagePath可能是一个__unsafe_unretained伊娃(或者也许你看到的weakassign )。 将其更改为strong ,以便它是由ARC保留。



文章来源: xcode ARC conversion error [CFString retain] crash