gpt4 book ai didi

Cocoa - 为什么使用 NSInteger 和 CGFloat 而不是使用 int 和 float 或者总是使用 NSNumber?

转载 作者:行者123 更新时间:2023-12-03 16:17:21 25 4
gpt4 key购买 nike

当你必须处理数字而不是短时间计算时,总是使用 NSNumber 是否会浪费时间和精力?

最好的方法是什么?

最佳答案

When you have to deal with numbers for anything else than short computation, is it a loss of time and energy using always NSNumber?

嗯,NSNumber 通常必须经过分配和引用计数环来创建,因此这比在堆栈上创建 float 要花费更长的时间。

同样,NSNumber 是一种不可变类型,因此经常设置它没有多大意义,因为每次它发生更改时,您都必须分配一个新实例。他们做了一些优化,但相对于在堆栈上创建 float 来说,这仍然是巨大的开销。使用内置函数也比 NSNumber 需要更少的内存,而反之亦然。

What's the best approach?

除非我需要 NSNumber,否则我只使用内置函数(例如 floatint)。 Details and rationale here .

关于Cocoa - 为什么使用 NSInteger 和 CGFloat 而不是使用 int 和 float 或者总是使用 NSNumber?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8059452/

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