Касание какао - Загрузка текстового файла в массив

Что случилось с моим кодом.. Я хочу, чтобы это считало текстовый файл как

Item1

Item2

Item3

Item4

Item5

и проанализируйте его в массив, таким образом, каждая строка является отдельным объектом в таким образом массиве.

При проверке консоли, она печатает (null)

-(void)parseIntoArray{ //parse the files into seprate arrays.
    allPools = [[NSMutableArray alloc] initWithContentsOfFile:@"ALL_POOLS_NAMES"];
    NSLog(@"%@",allPools);
}

Я поместил txt файл в свой проект и скопировал его в место назначения.

6
задан user377419 21 July 2010 в 01:42
поделиться

1 ответ

Во-первых, можете ли вы убедиться, что файл существует там, где вы ищете, и читается? Используйте

[[NSFileManager defaultManager] isReadableFileAtPath:aPath];

Во-вторых, что находится в вашем файле. Поведение initWithContentsOfFile:

Представление массива в файле, идентифицированном aPath должно содержать только объекты списка свойств (объекты NSString, NSData, NSArray или NSDictionary).

Является ли ваш файл корректным plist xml файлом?

InResponse

Вы не можете использовать конструктор NSArray initWithContentsOfFile: для разбора обычного текстового файла.

Вместо этого вы можете прочитать содержимое файла в память и самостоятельно разобрать его в массив. Для вашего примера вы можете использовать

//pull the content from the file into memory
NSData* data = [NSData dataWithContentsOfFile:aPath];
//convert the bytes from the file into a string
NSString* string = [[[NSString alloc] initWithBytes:[data bytes]
                                            length:[data length] 
                                          encoding:NSUTF8StringEncoding] autorelease];

//split the string around newline characters to create an array
NSString* delimiter = @"\n";
NSArray* items = [string componentsSeparatedByString:delimiter];
13
ответ дан 8 December 2019 в 18:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: