我可以在任何需要NSNumber的地方使用NSDecimalNumber吗?

Nic*_*rge 3 cocoa cocoa-touch objective-c nsnumber nsdecimalnumber

NSDecimalNumber是NSNumber的子类,据我所知,它实现了NSNumber实例所期望的所有NSNumber方法.

鉴于此,是否可以将NSDecimalNumbers提供给任何期望NSNumber的代码?

唯一可能的问题可能是检查参数是NSNumber实例的代码,但由于NSNumber是一个类集群,这样的代码必须检查实例是NSNumber 的子类,NSDecimalNumber实例应该通过它试验.

Pet*_*sey 7

是.

唯一可能的问题可能是检查参数是NSNumber实例的代码,但由于NSNumber是一个类集群,这样的代码必须检查实例是NSNumber的子类,NSDecimalNumber实例应该通过它试验.

这就是isKindOfClass:进入的地方,尽管您可能更喜欢测试对象是否响应了类似的消息integerValue.