ios – xcode ARC转换错误[CFString retain]崩溃

前端之家收集整理的这篇文章主要介绍了ios – xcode ARC转换错误[CFString retain]崩溃前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用 xcode自动转换将我庞大的 IOS程序转换为ARC.之后我收到以下错误
[CFString retain]:发送给deallocated实例的消息

跟踪显示崩溃的以下行:

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

跟踪中的下一行给出:__ arclite_objc_retainAutoreleasedReturnValue at /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;
}

谢谢.

解决方法

imagePath可能是__unsafe_unretained iVar(或者你可能看到弱或分配).将其更改为强,以便ARC保留它.

猜你在找的iOS相关文章