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