3

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

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

唯一可能的问题可能是检查参数是否为 NSNumber 实例的代码,但由于 NSNumber 是一个类簇,这样的代码必须检查该实例是否为 NSNumber 的子类,并且 NSDecimalNumber 实例应该传递相同的测试。

4

1 回答 1

7

是的。

唯一可能的问题可能是检查参数是否为 NSNumber 实例的代码,但由于 NSNumber 是一个类簇,这样的代码必须检查该实例是否为 NSNumber 的子类,并且 NSDecimalNumber 实例应该传递相同的测试。

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

于 2010-03-14T04:08:26.500 回答