Загрузка файлов данных в проект 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.
Теперь я храню все данные на телефоне.
Если вам нужна помощь в разборе строки данных, есть полезная статья о Какао для ученого