考虑以下代码
id j = @"123";
NSUInteger a = [j unsignedIntValue]; // not working
NSUInteger b = [j intValue]; // works
为什么在将NSString的对象转换为无符号整数时,只有intValue
有效?
答案 0 :(得分:10)
这是因为unsignedIntValue
是NSNumber
的方法,而intValue
和NSNumber
中都有NSString
。
答案 1 :(得分:3)
unsignedIntValue
是类NSNumber
而非NSString
的方法。
因此,当您在unsignedIntValue
的对象上调用NSString
时,它将无法链接您的对象和函数调用。