У меня есть следующий бит кода:
NSData *data = [NSData dataWithContentsOfFile:filePath options:0 error:&fileError];
NSString *recipe = @"";
if (fileError == nil) {
recipe = [NSString stringWithUTF8String:[data bytes]];
NSLog(@"Converted Recipe as: %@",recipe);
NSLog(@"Original Data was: %@",data);
} else {
NSLog(@"Error reading file: %@", [fileError localizedDescription]);
}
Проблема в том, что иногда stringWithUTF8String возвращает null, а иногда корректно возвращает содержимое файла... SAME файл. Иногда это работает, а иногда и нет. Вот фрагмент из журнала, когда он этого не делает.... Что означает для меня, что чтение файла работает, но по какой-то причине преобразование не удалось на этот раз. Если я снова это сделаю (это называется результатом tableView didSelectRowAtIndexPath: поэтому я могу просто щелкнуть по другой строке, а затем вернуться к этому.
2010-08-01 16:14:29.031 RecipeBrowse[52056:207] Converted Recipe as: (null)
2010-08-01 16:14:29.037 RecipeBrowse[52056:207] Original Data was: <426c6163 6b656e65 64204361 626f2046 69736820 5461636f 730a0a49 4e475245 4449454e 54533a0a 0a2d200a 0a0a4d45 54484f44 3a0a0a42 4c41434b 454e4544 20434142 4f204649 53482054 41434f53
Любые идеи, как сделать это более надежным?