iPhone 应用程序崩溃 [__NSCFString objectForKey:] 无法识别的选择器发送到实例
Posted
技术标签:
【中文标题】iPhone 应用程序崩溃 [__NSCFString objectForKey:] 无法识别的选择器发送到实例【英文标题】:iPhone app crash [__NSCFString objectForKey:] unrecognized selector sent to instance 【发布时间】:2013-04-03 12:52:18 【问题描述】:我试图在 tempArray 中添加偶数个 data.localBookmarks 是字典数组。这是我的代码:
currentIndex = indexPath.row;
for (NSDictionary *dict in localBookmarks)
if (currentIndex % 2 == 0 && currentIndex <= [localBookmarks count])
[tempArray addObject:[dict objectForKey:@"firstName"]];
currentIndex++;
NSLog(@"tempArray %@",tempArray);
cell.textLabel.text = [tempArray objectAtIndex:indexPath.row];
return cell;
我的应用程序在 [tempArray addObject:[dict objectForKey:@"firstName"]] 上崩溃;这条线,我该如何解决?
【问题讨论】:
嗯,从错误消息中很明显...dict
实际上是一个字符串(即检查您的localBookmarks
是否只包含字典)
wt 是 localBookMarks ??是 NSDictionary 吗??
【参考方案1】:
为什么你会崩溃
你认为是 NSDictionary 的变量 dict
实际上是一个 NSString。由于字符串不响应 objectForKey:
方法,您的应用程序崩溃了。这就是错误消息告诉您的内容。
问题出在哪里
您的陈述:“data.localBookmarks 是字典数组”是错误的。其中至少有一个只是一个字符串。
检查您的localBookmarks
来自哪里。如果您正在解析的是数据,您可能需要更改它。
【讨论】:
谢谢大卫,在 localBookmarks 数组中包含字符串也不是所有的字典,我弄错了。以上是关于iPhone 应用程序崩溃 [__NSCFString objectForKey:] 无法识别的选择器发送到实例的主要内容,如果未能解决你的问题,请参考以下文章
使用 Xcode 13.2 在设备中进行测试时,应用程序在 iPhone 6、iOS 12.5 上崩溃
如何诊断和解决 WCSession sendMessage(_:replyHandler:errorHandler:) 上的崩溃?