如果为空,则NSDecimalNumber崩溃

时间:2020-02-24 09:12:01

标签: objective-c initialization nsdecimalnumber

我为这个问题而疯狂。如果您尝试对NSDecimalNumber进行某些操作而未初始化它,则会导致崩溃。主要问题是,如果您在代码的一部分中对其进行了初始化,但随后在另一部分中使用了它,则始终需要检查初始化状态。

您可以在viewDidLoad或文件开始的任何地方初始化所有NSDecimalNumber,但我认为必须有另一种更简单的方法。苹果不鼓励将系统方法子类化,那么避免此类崩溃的最佳方法是什么?您真的必须经常检查吗?

示例:

NSDecimalNumber *x = [NSDecimalNumber zero];
NSDecimalNumber *y;

[x decimalNumberByAdding:y];

此崩溃是因为y未初始化。这似乎很明显,但是如果x在代码的顶部声明,并且仅在第一次需要它时才对其进行初始化,则可能会在初始化之前将其用于其他地方。

我想将零作为未初始化的NSDecimalNumber的默认值

0 个答案:

没有答案