我可以从一个plist读取但是不能从另一个读取

时间:2015-10-29 03:30:45

标签: ios objective-c plist

我在支持文件中创建了两个名为information.plist和data.plist的plist文件,并将它们添加到Copy Bundle Resource。

我使用下面的代码从plist中读取数据。

NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory , NSUserDomainMask , YES );
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"data.plist"];
NSMutableDictionary* dictPlist = [ [ NSMutableDictionary alloc ] initWithContentsOfFile:filePath];

并尝试显示plist中的数据:

NSMutableDictionary *data1 = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath];
NSLog(@"%@", data1);

我从information.plist获取数据,但从data.plist获取“null”。

我错过了什么吗?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

试试这个:

// Path of plist from bundle
NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"data" ofType:@"plist"];

// Since your plist's root is a dictionary else you should form NSArray from contents of plist
NSDictionary *dataPlist = [NSDictionary dictionaryWithContentsOfFile:plistPath];

说明:你的plist在应用程序包中,而不在Documents目录中,这就是你没有得到它们的原因。