gpt4 book ai didi

ios - 如何返回转换为 NSInteger 的 NSNumber

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:57:55 29 4
gpt4 key购买 nike

由于 NSNumber 是一个类,我试图将其转换为 NSInteger 以进行一些计算。在 NSLog 中,它表明我正在转换并正确执行乘法。但是,当我必须将倍增器作为常规 NSInteger 返回时,我得到“ARC 不允许将‘NSInteger’(又名‘long’)隐式转换为‘NSNumber*’”。我哪里出错了,我该怎么做才能纠正错误?

- (NSNumber *) numberThatIsTwiceAsBigAsNumber:(NSNumber *)number {

NSInteger doubler = [number integerValue] * 2;
NSLog(@"%ld", (long)doubler);

return doubler;
}

编辑:对于那些好奇的人,这就是我解决它的方法:

NSInteger unboxing = [number integerValue] * 2;
NSNumber *boxing = [NSNumber numberWithInteger:unboxing];

return boxing;

最佳答案

您需要将数字作为 NSNumber 而不是 NSInteger 返回。因此,在返回之前将 NSInteger 转换为 NSNumber。

return @(doubler);

关于ios - 如何返回转换为 NSInteger 的 NSNumber,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26044602/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com