Ответ 1
Посмотрите documentation. Используйте метод intValue
:
int number = [[dict objectForKey:@"integer"] intValue];
Прежде чем поместить значение int в словарь, я установил значение int как [NSNumber numberWithInt: 2], теперь, когда я пытаюсь вернуть содержимое словаря, я хочу его обратно в формате int.. hw, чтобы сделать это??
здесь мой код;
NSMutabelDictionary *dict = [[NSMutableDictionary alloc]init];
int intValue = 300;
[dict setObject:[NSNumber numberWithInt:intValue] forKey:@"integer"];
retriving.........
int number = [dict ObjectForKey:@"integer"];
.. он выбрасывает исключение. sayin casting требуется.. когда я делаю это так.
int number = (int)[dict ObjectForKey:@"integer"];
пока он не работает...
как решить эту проблему? /
предложите..
Посмотрите documentation. Используйте метод intValue
:
int number = [[dict objectForKey:@"integer"] intValue];
При необходимости следует придерживаться типов данных NSInteger
. Поэтому вы должны создать такой номер:
NSInteger myValue = 1;
NSNumber *number = [NSNumber numberWithInteger: myValue];
Декодирование работает с методом integerValue
, а затем:
NSInteger value = [number integerValue];
Использовать метод NSNumber intValue
Менее подробный подход:
int number = [dict[@"integer"] intValue];
Проверенная однострочник:
int number = ((NSNumber*)[dict objectForKey:@"integer"]).intValue;