如何从十六进制NSString中获取十进制的int

Heb*_*Lau 10 iphone objective-c ios

我想从十六进制编码的字符串中获取十进制值,例如:A-> 10,B-> 11等.我编码如下

NSString *tempNumber;
tempNumber=number.text; 
NSScanner *scanner=[NSScanner scannerWithString:tempNumber];
unsigned int temp;
[scanner scanHexInt:temp];
NSLog(@"%@:%d",tempNumber,temp);
Run Code Online (Sandbox Code Playgroud)

但NSLog输出不是我所知道的..

2012-01-24 01:34:57.703 TestingUnit[34861:f803] 4:-1073750472
2012-01-24 01:35:01.133 TestingUnit[34861:f803] 6:-1073750408
2012-01-24 01:35:01.983 TestingUnit[34861:f803] 2:-1073750408
2012-01-24 01:35:02.414 TestingUnit[34861:f803] 1:-1073750408
Run Code Online (Sandbox Code Playgroud)

谁能告诉我怎么解决这个问题????

Man*_*lio 13

你应该用

[scanner scanHexInt:&temp];
Run Code Online (Sandbox Code Playgroud)

scanHexInt: 期望一个指针,而不是一个值.