查找此[__NSArrayI allKeys]: unrecognized selector sent to instance
错误,它似乎发生在您向 NSArray 发送用于 的allKeys
消息时NSDictionary
,但在这种情况下,我非常清楚地将其发送到 NSDictionary。
这是我与 Pocket API 交互时使用的代码:
NSDictionary *articles = [response objectForKey:@"list"];
// Create an array we can use to sort the keys (and thus the articles) in order of when they were added
NSMutableArray *allKeys = [[articles allKeys] mutableCopy];
那里的最后一行导致错误。但是articles
非常明确地声明为 NSDictionary?为什么不喜欢它?
奇怪的是,如果我在运行时检查它,它会说它是一个 NSArray!为什么改变了?
(lldb) po articles
$5 = 0x082103e0 <__NSArrayI 0x82103e0>(
)
(lldb) po [articles class]
$6 = 0x01b83b8c __NSArrayI
(lldb)