2012-04-06 52 views
1

我将我的项目转换为ARC后,我确信这是一个愚蠢的问题。此方法已在第一行开始崩溃:loadNibNamed:owner:选项在转换为ARC后崩溃的应用程序

- (MyView*) loadMyView 
{ 
    NSArray* elements = [[NSBundle mainBundle] loadNibNamed:@"MyView" owner:nil options:nil]; 

    return (MyView*)[elements objectAtIndex:0]; 
} 

在转换为ARC之前,此工作正常。该应用程序崩溃在模拟器与以下消息:

[CFArray release]: message sent to deallocated instance 

有人可以告诉我我做错了什么?

回答

0

尝试改变从nilowner:参数self

NSArray* elements = [[NSBundle mainBundle] loadNibNamed:@"MyView" owner:self options:nil]; 

我猜,因为你是主人设置为无,您的阵列被为零的保留计数创建的,因此被释放马上。

+0

不幸的是,这并没有帮助。同样的崩溃。 – mbcrute 2012-04-06 05:10:29

2

那么,在睡觉之后,我决定只是删除笔尖,并重新开始,看看是否有帮助和足够肯定,它现在起作用。我不知道转换到ARC会导致此问题,但删除Nib并从头开始重新创建它可以解决问题。

+0

得到了同样的问题,删除并重新开始工作! -_- – Marc 2015-12-15 23:45:03

0

我有同样的问题。它通常发生在你的nib文件中有不一致的地方。在我的我有一些按钮,仍然通过IBOutlets连接到我在头文件中删除的某些对象。希望这可以帮助。