运维开发网

objective-C语言 我可以在预期的NSNumber的任何地方使用NSDecimalNumber吗?

运维开发网 https://www.qedev.com 2020-05-11 10:08 出处:网络 作者:运维开发网整理
NSDecimalNumber是NSNumber的子类,据我所知,它实现了NSNumber实例所期望的所有NSNumber方法. 鉴于此,是否可以将NSDecimalNumbers提供给任何期望NSNumber的代码? 唯一可能的问题可能是检查参数是NSNumber实例的代码,但由于NSNumber是一个类集群,这样的代码必须检查实例是NSNumber的子类,NSDecimalNumber实例应该
NSDecimalNumber是NSNumber的子类,据我所知,它实现了NSNumber实例所期望的所有NSNumber方法.

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

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

是.

The only possible issue might be code that checks that an argument is an instance of NSNumber, but since NSNumber is a class-cluster, code like this would have to check that the instance is a subclass of NSNumber, and NSDecimalNumber instances should pass the same tests.

这就是isKindOfClass:来了,尽管您可能更愿意测试对象是否响应了像integerValue这样的消息.

0

精彩评论

暂无评论...
验证码 换一张
取 消