objective-c - 我可以在需要 NSNumber 的任何地方使用 NSDecimalNumber 吗?

标签 objective-c cocoa cocoa-touch 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 之类的消息。

关于objective-c - 我可以在需要 NSNumber 的任何地方使用 NSDecimalNumber 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2441141/

相关文章:

ios - 确定必要变量类型的设计模式

objective-c - UITextField "value changed"字段更新时未触发

ios - 在代码中强制双击

ios - 验证签名 Objective-C

ios - 当状态从开/关更改时自定义 UISwitch 弹跳 - IOS-7 错误?

objective-c - cocoa contentsOfDirectoryAtPath : method failing with error for certain users - Mac OS X

iphone - Objective C 从指针生成整数,无需强制转换将对象作为参数传递

ios - Facebook 注册

objective-c - NSArray initWithContentsOfFile 返回 nil

ios - NSAutoLayout, View , 表格 View