Хорошо, может быть, мне просто нужен другой взгляд на это, но у меня есть следующие строки кода в одном из моих контроллеров представления. Он берет некоторые данные из файла и заполняет их в массив, используя «\ n» в качестве разделителя. Затем я использую этот массив для создания NSDictionary, который используется для заполнения таблицы. Это очень просто Однако это не работает. Вот код:
NSString *dataString = [NSString stringWithContentsOfFile:checklistPath encoding: NSUTF8StringEncoding error:NULL];
if ([dataString hasPrefix:@"\n"]) {
dataString = [dataString substringFromIndex:1];
}
NSArray *tempArray = [dataString componentsSeparatedByString:@"\n"];
NSLog(@"datastring:%@",dataString);
NSLog(@"temp array:",tempArray);
NSLog(@"%i",[tempArray count]);
NSDictionary *temporaryDictionary = [NSDictionary dictionaryWithObject: tempArray forKey:@"User Generated Checklist"];
self.names = temporaryDictionary;
NSLog(@"names:%@",names);
поэтому в журнале строка данных верна, поэтому она правильно извлекает данные из файла. однако для tempArray я получаю:
2010-05-17 19:15:55.825 MyApp[7309:207] temp array:
для счетчика tempArray, который я получаю:
2010-05-17 19:15:55.826 myApp[7309:207] 5
, которое является правильным количеством строк в массиве
Так что я в тупике. У меня есть ТОЧНО те же несколько строк кода в другом контроллере представления, и он отлично работает. То, что безумнее, это последний NSLog, который показывает, что последний NSDictionary (names) отображает это, что выглядит правильно:
2010-05-17 19:15:55.827 FS Companion[7309:207] names:{
"User Generated Checklist" = (
"System|||ACTION",
"System|||ACTION",
"System|||ACTION",
"System|||ACTION",
"System|||ACTION"
);
\
Мне не хватает чего-то действительно очевидного ??