#ios #uitableview #nsmutablearray #nsarray #nsbundle
#iOS #uitableview #nsmutablearray #nsarray #nsbundle
Вопрос:
Я хотел бы прочитать текстовый файл из NSBundle, который я ранее сохранил в Xcode, в массив, чтобы заполнить данные в UITableView.
У меня есть текстовый файл с такой информацией, как «это; является; тестом» с именем cart.txt
Теперь я попробовал следующий код, и я могу заполнить его в массив, но если я попытаюсь установить для строк моего tableview значение array count, все приложение вылетит.
NSString *filePath = [[NSBundle mainBundle]pathForResource:@"cart" ofType:@"txt"];
if (filePath) {
NSString *textFromFile = [[NSString alloc]initWithContentsOfFile:filePath];
lines = [textFromFile componentsSeparatedByString:@";"];
}
Я могу прочитать массив строк, подобный textfield.text = [lines objectAtIndes:0];
, в текстовое поле. все работает.
Но если я попытаюсь получить свои данные в tableview или даже установить количество строк на [lines count]
, приложение вылетит.
кто-нибудь может мне помочь с этой проблемой?
Я надеюсь на это 🙁
Заранее благодарю вас.
Комментарии:
1. Какова точная ошибка при сбое? Показать трассировку стека.
Ответ №1:
Я предполагаю, что происходит сбой, потому что массив «lines» уже выпущен, когда вы отправляете ему сообщение «count». Попробуйте lines = [[textFromFile componentsSeparatedByString:@";"] retain];
и отпустите «строки» в методе освобождения контроллеров просмотра