我正在尝试从我的.Plist中的数组加载我的数组,但它无效。
plist看起来像这样:
这是我正在使用的代码:
NSString *path = [[NSBundle mainBundle]pathForResource:@"DiseasePropertyList" ofType:@"plist"];
NSMutableArray *rootLevel = [[NSMutableArray alloc]initWithContentsOfFile:path];
self.myArray = rootLevel;
[rootLevel release];
答案 0 :(得分:9)
试试这个。请更改文件名。 它工作正常。
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *recentFilePath = [documentsDirectory stringByAppendingPathComponent:@"recent.plist"];
NSArray *history = [NSArray arrayWithContentsOfFile:recentFilePath];
答案 1 :(得分:5)
你的plist实际上是一本字典。数组是键“Array”的字典对象。您可以通过选择“Array”并切割(CMD-x),然后粘贴到空的plist(CMD v)中,将plist放入Xcode 4中的数组中。
答案 2 :(得分:2)
NSString *pathStr = [[NSBundle mainBundle] bundlePath];
NSString *finalPath = [settingsBundlePath stringByAppendingPathComponent:@"yourproject.plist"];
NSDictionary *settingsDict = [NSDictionary dictionaryWithContentsOfFile:finalPath];
然后查看settingsDict的说明。希望这能帮助你。
答案 3 :(得分:2)
如果您的plist文件在您的应用程序包中,最简单的是:
NSArray *myArray = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"filename_without_extension" ofType:@"plist"]];
答案 4 :(得分:0)
使用这种方法对我来说很好。
NSArray *country= [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"CountryList" ofType:@"plist"]];