代码之家  ›  专栏  ›  技术社区  ›  Nick Forge

我可以在需要nsnumber的任何地方使用nsdecimalNumber吗?

  •  3
  • Nick Forge  · 技术社区  · 15 年前

    nsdecimalNumber是nsnumber的一个子类,据我所知,它实现了nsnumber实例预期的所有nsnumber方法。

    考虑到这一点,是否可以将nsdecimalNumbers赋予任何需要nsnumber的代码?

    唯一可能的问题可能是检查参数是否为nsnumber实例的代码,但由于nsnumber是类集群,因此这样的代码必须检查实例是否为 子类 NSNumber和NSDecimalNumber实例应通过相同的测试。

    1 回复  |  直到 15 年前
        1
  •  7
  •   Peter Hosey    15 年前

    对。

    唯一可能的问题可能是检查参数是否为nsnumber实例的代码,但由于nsnumber是类集群,因此类似这样的代码必须检查实例是否为nsnumber的子类,并且nsdecimalnumber实例应通过相同的测试。

    那就是那里 isKindOfClass: 尽管您可能更喜欢测试对象是否响应类似的消息 integerValue 相反。

    推荐文章