我已经花了整个昨天试图解决这个问题,没有运气。这是我正在使用的代码。将plist文件中的数据存储到数组中
NSString *path = [[NSBundle mainBundle] pathForResource:@"file" ofType:@"plist"];
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:path];
NSArray *array = [NSArray arrayWithArray:[dict objectForKey:@"root"]];
for(int num = 0; num < 5; num++)
{
NSLog(@"my array:%@", array);
}
NSLog(@"items in my array: %lu", (unsigned long) [array count]);
下面是与im合作的plist文件的意见。
<plist version="1.0">
<dict>
<key>New item</key>
<string>hello</string>
<key>New item - 2</key>
<string>world</string>
<key>New item - 3</key>
<string>again</string>
<key>New item - 4</key>
<string>and</string>
<key>New item - 5</key>
<string>again</string>
</dict>
</plist>
此代码不会返回null就像当我使用一个NSArray在NSDictionary的尝试,但是当我运行控制台不会打印出从plist中检索到的任何数据。它只是打印出来:
my array:{}
my array:{}
my array:{}
my array:{}
my array:{}
items in my array: 0
如果我尝试通过更改NSLog NSLog(@“我的数组:%@”,数组)打印字典;我明白了。
my array:(NULL)
my array:(NULL)
my array:(NULL)
my array:(NULL)
my array:(NULL)
items in my array: 0
您给出的plist文件的描述没有一个名为“root”的密钥,也不包含任何数组。 –
你可以显示打印'dict'的输出吗? –
我添加了一个NSLog打印列表计数,看看我的数组中有多少值添加到它的字典项目和出和输出为0.所以我相信我的问题是,我没有任何对象我的阵列。我的plist是一本字典,里面实际上有5个条目,但是对于这个问题,我只是输入了一个条目。我将在原始问题和新输出中编辑新代码。 –