получение plist из каталога документов вместо Bundle - PullRequest
0 голосов
/ 15 июня 2010

Я пытаюсь указать каталог документов вместо 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 голосов
/ 16 июня 2010
[[NSBundle mainBundle] pathForResource:libraryPlist ofType:@"plist"];

тоже эквивалентно:

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

За исключением того, что вызов пакета вернет nil, если файл не существует. Вы можете использовать fileExistsAtPath: в NSFileManager, чтобы проверить, существует ли файл.

...