【问题标题】:iOS Cocoa NSArrayI length]: unrecognized selector sent to instanceiOS Cocoa NSArrayI 长度]:发送到实例的无法识别的选择器
【发布时间】:2014-06-09 00:56:33
【问题描述】:

我正在尝试确定导致此错误的原因:

2014-06-08 20:40:44.076 数据库[8656:70b] -[__NSArrayI 长度]: 无法识别的选择器发送到实例 0x8a44050

这里是代码。

NSDictionary* json = [NSJSONSerialization JSONObjectWithData:responseData options:0 error:&error];

这是发生错误的断点:NSLog([json allKeys]);

用作输入的 JSON 示例:

{"1":{"key":"1","contentONE":"aaa","contentTWO":"testing"},"2":{"key":"2","contentONE":"bbb","contentTWO":null},"3":{"key":"3","contentONE":"ccc","contentTWO":"testing"}}

【问题讨论】:

  • 检查你的 "json" 字典是否不是 nil 并尝试 NSLog("%@", json);查看返回数据的结构。
  • 看起来它有一个它认为是字符串的数组。长度是一个字符串方法。

标签: ios objective-c json cocoa


【解决方案1】:

[json allKeys] 返回一个NSArray,而NSLog 需要一个格式化字符串。试试这个:

NSLog(@"%@", [json allKeys]);

【讨论】:

  • 很遗憾看到有人否决了一个诚实的问题,但我非常感谢您的正确回答。非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-02
  • 2023-04-09
  • 2015-09-09
  • 2014-05-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多