我正在尝试调试与NSArray相关的问题。我收到一个例外:
EXC_BAD_ACCESS(代码=EXC_1386_GPFLT)在此行:
NSArray *items = [[NSArray alloc] initWithObjects:@"A", "B", "C", nil];
此代码位于 NSView 内的 -(id)initWithFrame:(NSRect)frame 内。
是什么导致我出现此异常?我已经谷歌搜索了这个例外,但我还没有找到其他得到它的人。
这个项目适用于OS X,而不是iOS。
你传递给initWithObjects:
的第一个参数是一个对象(它是NSString
的实例),但接下来的两个不是。将非对象类型插入到 Objective-C 集合中是非法的。
您需要为所有字符串文本添加@
符号前缀,以使它们成为所有对象,如下所示:
NSArray *items = [[NSArray alloc] initWithObjects:@"A", @"B", @"C", nil];