我有这行代码,我想弄清楚我编写它的方式的优缺点。我只是想将标签设置为浮点值并且两者都有效......只是不知道哪个更好......
self.display.text=[[NSNumber numberWithFloat:32.445] stringValue];
有什么区别吗
NSNumber *number = [[NSNumber alloc]initWithFloat:32.445];
self.display.text = [number stringValue];
嗯 - 我知道肯定有区别 - 只是不确定会是什么。似乎第一个更像是一个包装器(如果这有意义的话)?
谢谢!!!
最佳答案
[NSNumber numberWithFloat:32.445]
相当于:
[[[NSNumber alloc] initWithFloat:32.445] autorelease]
在手动引用计数模式下。在 ARC 或 GC 模式下,你可以认为它等同于:
[[NSNumber alloc] initWithFloat:32.445]
您可能获得的唯一好处是尽量避免在 MRC 模式下调用 autorelease
并将其替换为 release
调用。
关于ios - NSNumber numberWithFloat 与 Init 和 alloc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9073367/