IT story

Objective-C에서 NSNumber를 int로 변환하는 방법

hot-time 2020. 7. 17. 08:00
반응형

Objective-C에서 NSNumber를 int로 변환하는 방법


int 값을 사전에 넣기 전에 int 값을 [NSNumber numberWithInt : 2]로 설정했습니다. 이제 사전 내용을 다시 검색하려고 할 때 int 형식으로 다시 원합니다. hw이 작업을 수행 하시겠습니까?

여기 내 코드가 있습니다.

NSMutabelDictionary *dict = [[NSMutableDictionary alloc]init];
int intValue = 300;

[dict setObject:[NSNumber numberWithInt:intValue] forKey:@"integer"];

검색 중 .........

int number = [dict ObjectForKey:@"integer"];

.. 캐스팅이 필요하다는 예외가 발생합니다 .. 이렇게하면 ..

int number = (int)[dict ObjectForKey:@"integer"];

여전히 작동하지 않습니다 ...

이 문제를 해결하는 방법? /

제안 해주세요 ..


설명서를 살펴보십시오 . intValue방법을 사용하십시오 :

int number = [[dict objectForKey:@"integer"] intValue];

NSInteger가능 하면 데이터 유형을 고수해야 합니다. 그래서 당신은 그런 숫자를 만들 것입니다 :

NSInteger myValue = 1;
NSNumber *number = [NSNumber numberWithInteger: myValue];

디코딩은 integerValue다음 방법으로 작동합니다 .

NSInteger value = [number integerValue];

NSNumber 방법 사용 intValue

다음은 Apple 참조 설명서입니다


덜 장황한 접근법 :

int number =  [dict[@"integer"] intValue];

테스트 한 원 라이너 :

int number = ((NSNumber*)[dict objectForKey:@"integer"]).intValue;

참고 URL : https://stackoverflow.com/questions/3555906/how-to-convert-nsnumber-to-int-in-objective-c

반응형