nsdecimalNumber是nsnumber的一个子类,据我所知,它实现了nsnumber实例预期的所有nsnumber方法。
考虑到这一点,是否可以将nsdecimalNumbers赋予任何需要nsnumber的代码?
唯一可能的问题可能是检查参数是否为nsnumber实例的代码,但由于nsnumber是类集群,因此这样的代码必须检查实例是否为 子类 NSNumber和NSDecimalNumber实例应通过相同的测试。
对。
唯一可能的问题可能是检查参数是否为nsnumber实例的代码,但由于nsnumber是类集群,因此类似这样的代码必须检查实例是否为nsnumber的子类,并且nsdecimalnumber实例应通过相同的测试。
那就是那里 isKindOfClass: 尽管您可能更喜欢测试对象是否响应类似的消息 integerValue 相反。
isKindOfClass:
integerValue