我在试着学习如何从拼音列表中读出...我的是一个简单的例子。我真的只想读取一个整数,尽管对于更一般的数据情况,我也希望得到建议。plist有Item0数组,项0下面有一个数字。这就是我试图理解这篇文章的方式。
plistArray = [[NSArray alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://www.website.com/count.plist"]];
//count = [[plistArray objectAtIndex:0]];
count=(int)[plistArray objectAtIndex:0];
NSLog(@"array %@\n",plistArray);
NSLog(@"count %i\n",count);这是plist xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "apple.com/DTDs/PropertyList-1.0.dtd">
;<plist version="1.0">
<dict>
<key>Item0</key>
<array>
<integer>12</integer>
</array>
</dict>
</plist>发布于 2011-11-12 23:13:36
plist有两个问题:
<plist>标记前面的;不应该在那里首先,删除分号。
接下来,要么更新plist以仅包含<array>元素,要么更新代码以首先读取<dict>,然后从字典中获取NSArray:
NSDictionary *plistDict = [NSDictionary dictionaryWithContentsOfURL:url];
NSArray *plistArray = [plistDict objectForKey:@"Item0"];
int count = [(NSNumber *)[plistArray objectAtIndex:0] intValue];发布于 2011-11-12 23:11:46
你的plist有一个字典作为根对象,而不是一个数组。您应该使用URL的内容创建一个NSDictionary,它将包含一个数组(用于关键字Item0),此数组的第一个对象将是包含整数的NSNumber。
发布于 2011-11-12 23:12:02
我不确定您是如何创建plist的,但我认为您保存的是NSDictionary而不是NSArray。
plist中的数据结构表明,根对象是一个字典(dict),它包含一个键/值对。关键字是"Item0",值是我认为您要查找的NSArray。
试试这个:
plistDict = [[NSDictionary alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://www.website.com/count.plist"]];
NSArray * plistArray = [plistDict objectForKey:@"Item0"];
NSLog(@"array %@", plistArray);https://stackoverflow.com/questions/8102036
复制相似问题