У меня есть алгоритм, который работал нормально, пока я не решил превратить локальную переменную в объект класса. Код:
NSArray*parseLine=[newline componentsSeparatedByString:@","];
float percentx=[[parseLine objectAtIndex:1] floatValue];
//this NSLog prints fine and shows good values for all three items
NSLog(@"parsline:%@ and %@ and percentx: %f",[parseLine objectAtIndex:0], [parseLine objectAtIndex:1], percentx);
[self.data setObject:[NSNumber numberWithFloat:percentx] forKey:[parseLine objectAtIndex:0]];
//this NSLog shows (null) for the [self.data objectForKey:]
NSLog(@"%@ %f %@", [parseLine objectAtIndex:0] ,percentx, [self.data objectForKey:[parseLine objectAtIndex:0]]);
Я сбит с толку, как [self.data objectForKey:key]
может быть нулевым, когда оператор setObject
для этого объекта NSMutableDictionary
с именем "data" использует допустимые элементы. Возможно, проблема NSNumber
, но все это работало нормально, когда «данные» были просто локально размещаемым / инициализируемым объектом.
На самом деле, «данные» вообще не отправляют данные. Позже я могу сделать это:
NSLog(@"%i",[data count]);
И возвращает 0.