我正在尝试调试与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。
答案 0 :(得分:5)
您传递给initWithObjects:
的第一个参数是一个对象(它是NSString
的一个实例),但接下来的两个不是。@
。将非对象类型插入到Objective-C集合中是非法的。
您需要在所有字符串文字前加上NSArray *items = [[NSArray alloc] initWithObjects:@"A", @"B", @"C", nil];
个符号,以使它们成为所有对象,如下所示:
{{1}}