Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 将plist放入数组中_Iphone_Nsmutablearray_Plist - Fatal编程技术网

Iphone 将plist放入数组中

Iphone 将plist放入数组中,iphone,nsmutablearray,plist,Iphone,Nsmutablearray,Plist,我见过很多类似的问题,但没有一个对我有用。我需要将plist的内容放入NSMutableArray 我的plist是一个包含1个数组的字典。此数组有多个字典。我在另一个应用程序中使用了相同的代码,它起了作用: NSString *path = [[NSBundle mainBundle] pathForResource:@"TeamsData" ofType:@"plist"]; NSMutableArray *temp = [[NSMutableArray arrayWithConte

我见过很多类似的问题,但没有一个对我有用。我需要将plist的内容放入NSMutableArray

我的plist是一个包含1个数组的字典。此数组有多个字典。我在另一个应用程序中使用了相同的代码,它起了作用:

    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);
        }
    }
}