NSDecimal zero = {0}; // Not obvIoUs what's going on here.NSDecimal zero = @(0).decimalValue; // @(0) appears to always return the same instance.NSDecimal zero = [NSDecimalNumber zero].decimalValue; // [NSDecimalNumber zero] appears to always return the same instance.
有没有比其他人更容易接受的?我错过了某种NSDecimalZero常量/函数吗?
解决方法 我从来没有注意到NSDecimal没有很好的Create函数.我无法想象除了你列出的3之外的另一种方法.
NSDecimal zero = {0};
你是对的,这不明显,这实际上是非常明显的.通常的程序员不会查找文档来查看结构将表示的所有属性设置为零的值.
NSDecimal zero = @(0).decimalValue
我不喜欢它,因为它使用NSNumber并且不必要地创建一个自动释放的对象.
NSDecimal zero = [NSDecimalNumber zero].decimalValue
这是我的首选解决方案.直接使用NSDecimal结构主要是为了提高性能(不在堆上创建对象).此方法匹配intent,因为它使用单例常量.
但是,如果你有很多涉及NSDecimal的代码并且性能对你来说非常重要,那么创建你自己的函数/宏来初始化struct并在任何地方使用这个函数.那么这个问题对您来说无关紧要,因为函数名称会使代码变得明显.
总结以上是内存溢出为你收集整理的ios – 将NSDecimal设置为零全部内容,希望文章能够帮你解决ios – 将NSDecimal设置为零所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)