Загрузка файлов данных в проект iPhone

Как прочитать файл данных в проекте iPhone? Например, допустим, у меня есть статический файл с именем "level.dat", который структурирован следующим образом: препятствия: 10 время: 100 препятствий 1: 10,20 ...

Я хотел бы прочитать содержимое файла в строку NSString, а затем выполнить анализ. Как мне прочитать содержимое файла в строку? Кроме того, где в проекте должен находиться файл "level.dat"? Это должно быть в разделе "Ресурсы" или просто в главном каталоге?

Заранее спасибо!

4 ответа

Решение

Смотрите этот ответ: Как fopen() на iPhone? который показывает, как получить доступ к ресурсам в вашем комплекте. Получив путь, просто используйте [NSString stringWithContentsOfFile:encoding:error:].

NSString   *path = [[NSBundle mainBundle] pathForResource: @"level" ofType: @"dat"]
NSError    *error = nil;
NSString   *data = [NSString stringWithContentsOfFile: path 
                                             encoding: NSUTF8StringEncoding 
                                                error: &error];

Хотя это не то, что вы просили, рассмотрите возможность превращения ваших файлов в списки. Вам придется переформатировать их в XML, но затем вы можете загрузить их прямо в NSDictionary с помощью:

dict = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"levels" ofType:@"plist"]];

Рассматривали ли вы размещение данных в базе данных SQLite вместо плоского файла? Я считаю, что API очень прост в использовании на iPhone.

Теперь я храню все данные на телефоне.

Если вам нужна помощь в разборе строки данных, есть полезная статья о Какао для ученого

Другие вопросы по тегам