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
之类的消息。
关于objective-c - 我可以在需要 NSNumber 的任何地方使用 NSDecimalNumber 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2441141/