Iphone 将plist放入数组中
我见过很多类似的问题,但没有一个对我有用。我需要将plist的内容放入NSMutableArray 我的plist是一个包含1个数组的字典。此数组有多个字典。我在另一个应用程序中使用了相同的代码,它起了作用:Iphone 将plist放入数组中,iphone,nsmutablearray,plist,Iphone,Nsmutablearray,Plist,我见过很多类似的问题,但没有一个对我有用。我需要将plist的内容放入NSMutableArray 我的plist是一个包含1个数组的字典。此数组有多个字典。我在另一个应用程序中使用了相同的代码,它起了作用: NSString *path = [[NSBundle mainBundle] pathForResource:@"TeamsData" ofType:@"plist"]; NSMutableArray *temp = [[NSMutableArray arrayWithConte
NSString *path = [[NSBundle mainBundle] pathForResource:@"TeamsData" ofType:@"plist"];
NSMutableArray *temp = [[NSMutableArray arrayWithContentsOfFile:path] retain];
NSLog(@"TEMP: %@", temp);
data = [NSMutableArray arrayWithArray:[[temp objectAtIndex:0] objectForKey:@"Teams"]];
temp返回NULL,但我不知道为什么。有什么想法吗
更新
事实上,我发现了为什么我的代码在一个应用程序中工作,而不是在另一个应用程序中工作。在应用程序中,当我打开plist作为源时,它确实工作了。整个plist被封装在一个数组中。但是,当我在标准的xcode plist编辑器中查看它时,它并没有显示出来。因此,要在新的plist上运行相同的代码,我可以将其作为源代码打开,并将其包含在数组标记中。您说您有一个plist,它是一个包含一个字典数组的字典,但您尝试从包中读取文件,就像它是一个数组一样。尝试改用
NSDictionary
的-initWithContentsOfFile:
数组在plist字典中应该有一个键,如下所示:
...
<dict>
<key>Teams</key>
<array>
<dict>
...
</dict>
...
</array>
</dict>
别紧张:)
Qn。这个plist和原来的plist有区别吗?发布您试图解析的plist供我们查看。这似乎有效。但是如何从字典中提取数组呢?我不确定“放轻松”是一个充分的解释。
teamsArray = [ plistDictionary objectForKey: @"Teams" ];
NSString *path = [[NSBundle mainBundle] pathForResource:@"menuConfig" ofType:@"plist"];
NSDictionary* amountData = [NSDictionary dictionaryWithContentsOfFile:path];
NSMutableArray *teamsArray=[amountData objectForKey: @"InfoArrays" ];
for(amountData in teamsArray)
{
NSMutableArray *title = [amountData objectForKey:@"Exercesis"];
for(amountData in title)
{
NSMutableArray *ExercisesDetails = [amountData objectForKey:@"ExercisesDetails"];
for(amountData in ExercisesDetails)
{
NSString *exerciseDetail=[amountData objectForKey:@"exerciseDetail"];
NSLog(@"%@",exerciseDetail);
}
}
}