【问题标题】:Exception when creating an NSArray创建 NSArray 时出现异常
【发布时间】:2013-10-13 21:47:37
【问题描述】:

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

EXC_BAD_ACCESS(code=EXC_1386_GPFLT) 在这一行:

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

此代码在 NSView 内的 -(id)initWithFrame:(NSRect)frame 内。

是什么导致我得到这个异常?我用谷歌搜索了这个例外,但没有找到其他人得到它。

此项目适用于 OS X 而不是 iOS。

【问题讨论】:

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


    【解决方案1】:

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

    您需要在所有字符串字面量前加上@ 符号,使其成为对象,如下所示:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-25
      • 2016-10-02
      • 2015-03-20
      • 2011-10-24
      • 1970-01-01
      • 1970-01-01
      • 2013-11-18
      相关资源
      最近更新 更多