#ios #file #io
#iOS #файл #io
Вопрос:
Эксперты.. новый вопрос
Я разработал ГИС-подобное приложение, которое отлично работает в среде Xcode и iPad simulator. Теперь я хочу протестировать на реальном iPad. Я прошел процесс предоставления сертификатов и смог запустить приложение на своем устройстве. Проблема возникает, когда программа пытается прочитать файл, который находится на моем компьютере для разработки (путь к файлу примерно такой /Users/user/Document/data.txt ).
Могу ли я скопировать это «data.txt «файл на ipad, и если я смогу, каким будет его путь для ввода-вывода?
Спасибо за вашу помощь.
KAS
Ответ №1:
Вы добавите его в свое приложение. и это будет в комплекте.
NSData *data = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"data" ofType:@"txt"]];
После загрузки проанализируйте его с помощью строки.
Вы можете использовать NSScanner для анализа вашей строки
NSString *fileName = [[NSBundle mainBundle] pathForResource:@"data" ofType:@"txt"];
NSError *error = nil;
NSString *myData = [NSString stringWithContentsOfFile:fileName encoding:NSASCIIStringEncoding error:amp;error];
NSScanner *myScanner = [NSScanner scannerWithString:myData];
int myNewInt = 0;
if ([myScanner scanInt:amp;myNewInt])
{
//Do Something with my New Int
}
Комментарии:
1. Хорошо, это работает .. однако я использую старомодный «fscanf ()» для анализа данных, что является эквивалентом здесь… Думаю, я мог бы преобразовать его в строку C, а затем использовать sscanf () или есть способ получше?
2. Предполагается, что ваш файл должен быть в определенном формате? Для чего вы это используете?
3. Джейсон .. файл содержит три поля в следующем формате 12.34444 -34.45689 Label_for_point ….. Я прочитал эти поля в x, y, label с помощью функции fscanf ()
4. Другой вариант — поместить данные в XML-файл для NSDictionary и загрузить его из пакета. Тогда у вас будут значения в словаре. Или даже просто массив.
5. ХОРОШО .. здесь вы меня потеряли 🙂 .. можете ли вы объяснить это в коде, пожалуйста
Ответ №2:
Вы можете включить файл в свой проект, а затем получить к нему доступ. Чтобы получить полный путь к файлу:
NSString *appFolderPath = [[NSBundle mainBundle] resourcePath];
NSString *filePath = [appFolderPath stringByAppendingPathComponent:@"data.txt"];