2012-06-26 3 views
0

NSValue/NSConcreteValue 인스턴스 내부에서 int를 추출하려고합니다. 나는 그들에게이 방법을 캐스팅하려했지만 작동하지 않았다NSConcreteValue/NSValue에서 int를 가져 오는 중

NSValue *toValue = (NSValue *)someValue; 
    NSNumber *toNumber = (NSNumber*)toValue; 
    int final = [toNumber intValue]; 

또한 getValue를 사용하여 시도하지만 그 또한 나를 위해 작동하지 않았다.

+0

, 당신은 const를 문자 *

환호를 반환

[value objCType] 

와 NSValue에게 유형을 요청할 수 있습니다 르그을 알고 'someValue'는 원래? 왜 'NSValue'에 캐스트하고 있습니까? "작동하지 않는다"고 말하면 어떤 오류가 발생합니까? –

답변

5

int가 저장 되었습니까? 예 당신이 그것을 얻을 수있는 경우 :

int final = 0; 
[someValue getValue:&final]; 

당신은 무엇

+0

나는'NSLog' final 때 올바른 int 값을 얻었지만 이것을 할 때'EXEC_BAD_ACCESS' 오류가 발생하는 것 같습니다. –

+0

는'int * final;을 수행하지 않습니다; [someValue getValue : final];'작동합니까? f.e.에 의해 int를 geht 할 것이다. 'NSLog (@ "% d", * final)'... –

+0

그리고'NSLog (@ "% s", [값 objCType]);은 실제로 무엇을 인쇄합니까? –