从包含数组的plist生成数组

时间:2013-09-07 16:17:34

标签: ios objective-c cocoa-touch plist

我有这个plist文件

enter image description here

我需要在plist中创建一个包含数组的数组,因此数组的值应为“numbers”& “颜色”。

我尝试了这段代码,但没有用

- (NSString *) dataFilePath {
    NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentDirectory = [path objectAtIndex:0];
    return [documentDirectory stringByAppendingPathComponent:@"groups.plist"];
}

- (void) readPlist {
    NSString *path = [self dataFilePath];
    NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:path];
    NSArray *tempArray = [dict objectForKey:@"Root"];
    NSLog(@"%@", tempArray);
}

从ViewDidLoad方法

调用readPlist

任何想法怎么做?

2 个答案:

答案 0 :(得分:0)

确保文档目录中存在groups.plist文件,而不是存在于捆绑目录中。

确保dict不是nil,并且实际上是您期望的字典对象。

您是否尝试过[dict objectForKey:@"numbers"]

答案 1 :(得分:0)

而不是

NSArray *tempArray = [dict objectForKey:@"Root"];
NSLog(@"%@", tempArray);

使用

NSArray *tempArray = [dict allKeys];
NSLog(@"%@", tempArray);

请注意,未定义数组中元素的顺序,请参阅NSDictionary的{​​{3}},

“Root”只是Xcode的标签。