我在XCode&中创建了一个pList(myData.plist)。填充它,但是当我运行程序时,它没有被复制到iphone模拟器目录。因此,我无法从中读到。我已经记录了文件名,它似乎指向了正确的位置,那里没有plist文件(在Finder中确认)
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectoryPath = [paths objectAtIndex:0];
NSString *pListFileName = [documentsDirectoryPath stringByAppendingPathComponent:@"myData.plist"];
NSLog(pListFileName);
NSFileManager *fileManager = [NSFileManager defaultManager];
if ([fileManager fileExistsAtPath: pListFileName]) {
self.pList = [[NSMutableDictionary alloc] initWithContentsOfFile:pListFileName];
//code for reading data in plist
}
答案 0 :(得分:2)
两件事:
右键单击Xcode中项目导航器中的文件,然后选择“获取信息”。在“目标”标签中,确保选中目标复选框。
这将确保将文件复制到项目的包中。
代码,但没有任何必要的错误检查:
if (![fileManager fileExistsAtPath: pListFileName]) {
//Copy the file from the app bundle.
NSString * defaultPath = [[NSBundle mainBundle] pathForResource:@"myData" ofType:@"plist"];
[fileManager copyItemAtPath:defaultPath toPath:pListFileName error:NULL]
}
self.pList = [[NSMutableDictionary alloc] initWithContentsOfFile:pListFileName];
同样,我删除了任何错误检查,但您应该将其包含在生产代码中。