创建NSArray时出现异常

时间:2013-10-13 21:47:38

标签: objective-c macos cocoa exc-bad-access

我正在尝试调试与NSArray相关的问题。我得到一个例外:

此行的EXC_BAD_ACCESS(代码= EXC_1386_GPFLT):

NSArray *items = [[NSArray alloc] initWithObjects:@"A", "B", "C", nil];

此代码在NSView内部 - (id)initWithFrame:(NSRect)框架内。

是什么导致我得到这个例外?我是Google-d的例外,我没有找到其他任何人获得它。

此项目适用于OS X而非iOS。

1 个答案:

答案 0 :(得分:5)

您传递给initWithObjects:的第一个参数是一个对象(它是NSString的一个实例),但接下来的两个不是。@。将非对象类型插入到Objective-C集合中是非法的。

您需要在所有字符串文字前加上NSArray *items = [[NSArray alloc] initWithObjects:@"A", @"B", @"C", nil]; 个符号,以使它们成为所有对象,如下所示:

{{1}}