通过主捆绑对文档目录访问plist文件

时间:2017-09-07 13:40:00

标签: ios cocoa-touch

获取财产清单的最佳方法是什么?

1 - 来自主要捆绑,即:

NSString *path = [[NSBundle mainBundle] pathForResource:@"recipes"  ofType:@"plist"];

2 - 或从Documents目录获取路径,即:

// Data.plist code - get path from root direcory 
NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES); 
// get documents path
NSString *documentsPath = [paths objectAtIndex:0]; 
// get the path to our plist file.
NSString *plistPath = [documentsPath 
stringByAppendingPathComponent:@"Data.plist"]; 
// check to see if Data.plist exists in documents 
if (![[NSFileManager defaultManager] fileExistsAtPath:plistPath]) { 
    // if not in documents, get property list from main bundle 
    plistPath = [[NSBundle mainBundle] pathForResource:@"Data" ofType:@"plist"]; 
}

什么和为什么? 如果两者都是正确的那么为什么我们不使用只有一行代码的第一个呢?

1 个答案:

答案 0 :(得分:2)

简单规则:

  • 如果属性列表文件是只读,请将其放入捆绑包中。
  • 如果属性列表文件将要变异,请将其放在文档目录中。