Доступ к списку при помощи консольного приложения - Xcode 4 - PullRequest
0 голосов
/ 22 августа 2011

Я создал файл plist (File-> New File-> Resource plist), в котором есть словарь, в котором хранятся числа с плавающей запятой для консольного приложения. Я в значительной степени создал этот список для хранения нескольких чисел, которые должны быть возвращены методами класса, но он может измениться, так что жесткое кодирование на самом деле не самая лучшая идея. Однако, когда я пытаюсь получить доступ к файлу plist, я всегда получаю «nil» для пути к файлу, и я не уверен, что делаю неправильно.

<plist version="1.0">
<dict>
    <key>minFloatNumber</key>
    <real>520.0</real>
</dict>
</plist>

+ (double) minFloatingPointNunber
{
    NSString *path = [[NSBundle mainBundle] pathForResource: @"FloatDictionary"
                                                     ofType: @"plist"];

    NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile: path];
    [path release];

    double f = [[dict objectForKey: @"minFloatNumber"] doubleValue];
    [dict release];

    return f;
}

Я читал различные статьи, в которых обсуждались «Фазы сборки» проекта и «Копирование ресурсов комплекта», но я нигде не вижу ничего подобного. Я почти уверен, что что-то не так с моей настройкой, но не уверен, что мне не хватает, или какие шаги мне нужно предпринять, чтобы исправить ситуацию. Заранее спасибо за советы.

1 Ответ

1 голос
/ 22 августа 2011

Шаблон «Консольное приложение» будет настроен для создания одного двоичного файла - , а не , включенного в надлежащий комплект, поэтому вы не можете использовать API NSBundle для доступа к файлам.Если вы хотите включить файл, вы можете сделать реальное приложение (где вы сможете использовать [NSBundle mainBundle]), или вы можете включить данные в двоичный файл (как константа времени компиляции или что-то подобное).

...