iPhone: чтение строки из файла возвращает неверные результаты - PullRequest
0 голосов
/ 12 апреля 2011

Что я делаю:

Я считываю некоторые данные из файла во время работы моего приложения.Для этого я использую следующий код:

NSString *dataPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"data.txt"];
NSString *data = [NSString stringWithContentsOfFile:dataPath encoding:NSStringEncodingConversionExternalRepresentation error:NULL];
NSArray *components = [data componentsSeparatedByString:@"|||||"];

При первом вызове это работает должным образом - я получаю массив длиной 5, каждый раздел содержит соответствующую строку.* Что идет не так:

Этот файл никогда не изменяется.Тем не менее, когда я вызываю ту же процедуру во второй раз (или третий, четвертый и т. Д.), Я не получаю тот же результат.Вместо этого возвращается массив длины 1, содержащий только часть необходимых данных.

Почему?Я не вижу причин, по которым это может пойти не так ... любая помощь очень ценится!

Ответы [ 2 ]

0 голосов
/ 10 мая 2011

Оказывается, код работает нормально. Проблема была в другом месте моего кода, где я (случайно) обращался к защищенным каталогам. В результате iOS заблокировала доступ моего приложения к любым файлам вообще: o

0 голосов
/ 12 апреля 2011

Поскольку файл находится в вашем AppBundle, это означает, что вы не можете изменить этот файл вообще.Вы уверены, что когда бы ни вызывался этот код, объект автоматического выпуска сохраняется правильно?

Если вы вызываете этот блок кода каждый раз, когда вам нужны эти данные, возможно, было бы целесообразно сохранить результатыпервый раз и использовать это каждый раз.Это немного ускорит процесс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...