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 – xcode ARC转换错误[CFString retain]崩溃全部内容,希望文章能够帮你解决ios – xcode ARC转换错误[CFString retain]崩溃所遇到的程序开发问题。

如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。