0
NSArray *mruSearchItems;
NSMutableArray *mruItems;

self.mruItems = [[NSMutableArray alloc] initWithArray:[[NSUserDefaults standardUserDefaults] arrayForKey:@"searches"]];

. 
.
 At this point mruItems becomes empty.
.
.
self.mruSearchItems = [[NSArray alloc] initWithArray:self.mruItems]; 

最后一行导致崩溃。

EXC_BAD_ACCESS

这是为什么 ?

4

1 回答 1

1

为了能够使用点符号语法 ( self.mruSearchItems),您需要创建mruSearchItems一个属性。

就像在 .m 文件的 @implementation 行下一样:

@property (nonatomic, strong) NSArray *mruSearchItems;

如果您已经有一个属性(并且只是没有在此处显示),请确保它是strong(不是weak),否则您的数组将被释放。

于 2012-07-12T00:38:58.690 回答