这两种异议创建方法有什么区别?
NSNumber *aInt= @54;
NSNumber *aInt= [NSNumber numberWithInt:54];
我知道第一种方法是NSNumber文字,第二种方法是NSNumber类方法。两者都用于创建NSNumber对象。但哪种方法更好? 如果我使用文字样式创建对象,那么如何分配内存?第二种方法有何不同?请建议我关于这些概念的一些关键点,以便我更喜欢更好的方法来创建NSNumber对象。
我知道在运行时创建的对象。文字对象是否也在运行时创建?请提供一些必要的要点,以澄清我的怀疑。
答案 0 :(得分:2)
他们是完全相同的。实际上,它们在编译期间被转换为相同的代码。
我总是选择文字,因为它更容易阅读。
答案 1 :(得分:0)
这两种反对方法之间有什么区别 创建
他们是完全相同的。
答案:
没有。 1:
使用@
- 前缀会自动换行标量类型,例如int
或float
。
没有。 2:
使用numberWith[type]
专门创建NSNumber,因此易于区分。
我不太确定它的内存管理,但我认为,谈论内存分配它是一样的。
我个人使用numberWith[type]
,因为它更易于区分(对我来说),我的意思是它所拥有的类型,我不必担心向后兼容性,但我仍然对文字知识如此我没有任何问题使用它。
更好的方法很难回答,完全取决于您/开发人员。
您可能还想查看此link
请尽量避免在一篇文章中提出太多问题。干杯! :)