unsignedIntValue vs intValue

时间:2012-02-09 04:47:31

标签: iphone objective-c ios xcode

考虑以下代码

id j = @"123";
NSUInteger a = [j unsignedIntValue]; // not working
NSUInteger b = [j intValue]; // works

为什么在将NSString的对象转换为无符号整数时,只有intValue有效?

2 个答案:

答案 0 :(得分:10)

这是因为unsignedIntValueNSNumber的方法,而intValueNSNumber中都有NSString

答案 1 :(得分:3)

unsignedIntValue是类NSNumber而非NSString的方法。

因此,当您在unsignedIntValue的对象上调用NSString时,它将无法链接您的对象和函数调用。