我写了这段代码:
for (int i = 1; i < 1000; i++) {
for (int j = 1; j < 1000; j++) {
int k = i * j;
//This is the line were the error messages appears
NSString *number = [NSString stringWithFormat:@"%d", k];
NSNumber *length = number.length;
NSNumber *half = (length / 2);
我想要它做的是,取int k
,将其转换为名为 number
的NSString,将字符串 number
的长度存储在NSNumber length
中,并将该值的一半存储在NSNumber half
中 .
但是,当尝试将int k
转换为NSString number
时,我收到错误消息:
“不允许将'NSInteger'(又名'unsigned int')隐式转换为'NSNumber *'”
有人可以帮我找出原因吗?
1 回答
number.length
返回整数而不是NSNumber
.纠正它:
如果你真的想使用NSNumber这样做:(这里我将整数装箱到NSNumber对象)