从文档目录而不是Bundle获取plist

时间:2010-06-15 19:53:22

标签: iphone nsarray plist nsdata

我正在尝试指向文档目录而不是Bundle,我有以下代码:

    - (id)initWithLibraryName:(NSString *)libraryName {
         if (self = [super init]) {
             libraryPlist = libraryName;
             libraryContent = [[NSArray alloc] initWithContentsOfFile:[[NSBundle mainBundle] 
                                        pathForResource:libraryPlist ofType:@"plist"]];

我知道我需要使用以下内容将应用指向文档目录:

      NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
      NSString *documentsDirectory = [paths objectAtIndex:0];

我的问题是在上面的例子中我在哪里插入这个指针?

1 个答案:

答案 0 :(得分:0)

[[NSBundle mainBundle] pathForResource:libraryPlist ofType:@"plist"];

也是等同的:

[documentsDirectory stringByAppendingPathComponent:[libraryPlist stringByAppendingPathExtension:@"plist"]];

如果文件不存在,则bundle调用将返回nil。您可以在NSFileManager中使用fileExistsAtPath:来检查文件是否存在。