iOS Cocoa NSArrayI 长度]:发送到实例的无法识别的选择器
Posted
技术标签:
【中文标题】iOS Cocoa NSArrayI 长度]:发送到实例的无法识别的选择器【英文标题】:iOS Cocoa NSArrayI length]: unrecognized selector sent to instance 【发布时间】: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);查看返回数据的结构。 看起来它有一个它认为是字符串的数组。长度是一个字符串方法。 【参考方案1】:[json allKeys]
返回一个NSArray
,而NSLog
需要一个格式化字符串。试试这个:
NSLog(@"%@", [json allKeys]);
【讨论】:
很遗憾看到有人否决了一个诚实的问题,但我非常感谢您的正确回答。非常感谢!以上是关于iOS Cocoa NSArrayI 长度]:发送到实例的无法识别的选择器的主要内容,如果未能解决你的问题,请参考以下文章
Cordova iOS 3.6.3+ 问题 - [__NSArrayI 长度]:无法识别的选择器
-[__NSArrayI 长度]:无法识别的选择器发送到实例 0x7f1e9f90
-[__NSArrayI replaceObjectAtIndex:withObject:]: 无法识别的选择器发送到实例
为啥我得到“[__NSArrayI allKeys]:无法识别的选择器发送到实例”/为啥 NSDictionary 正在转换?