【发布时间】:2010-05-12 07:40:58
【问题描述】:
您使用什么数据类型来获取 plist 中类型为字典的项目,即 nsmutabledictionary 或 nsdictionary?因为我正在使用以下代码从 plist 中的字典数组中检索字典对象。
NSMutableDictionary *_myDict = [contentArray objectAtIndex:0]; //APP CRASHES HERE
NSLog(@"MYDICT : %@",_myDict);
NSString *myKey = (NSString *)[_myDict valueForKey:@"Contents"] ;
[[cell lblFeed] setText:[NSString stringWithFormat:@"%@",myKey]];
在这里,第一行显示 objc_msgsend。 ContentArray 是一个 nsarray,它的内容显示了 plist 中的 2 个对象。在 plist 中,它们是字典对象。那为什么会出现这个错误呢?
编辑
基本上我的console中contentArray的内容如下图:
CONTENT ARRAY :
(
{
favourites = 0;
id = 0;
story = "This is my first record";
timestamp = 324567;
},
{
favourites = 0;
id = 1;
story = "This is my second record";
timestamp = 321456;
}
)
我想从内容数组中检索这些字典对象。
【问题讨论】:
-
你的 .plist 的具体内容是什么(不要只是总结)?确切的错误信息是什么?如果错误导致您的应用崩溃,它会在哪一行崩溃?
-
plist 内容如上。我收到 objc_msgsend 消息,控制台中没有任何内容。应用程序在上述行崩溃。
-
那里的“故事”是什么?什么是“根”标签? PList 有相当严格的语法。数组是“数组”,字典使用“dict”标签等。
-
您可以在这里看到带有字典和数组的 plist 示例:developer.apple.com/mac/library/DOCUMENTATION/Cocoa/Conceptual/…