3

NSDecimalNumberはNSNumberのサブクラスであり、私が知る限り、NSNumberインスタンスに期待されるすべてのNSNumberメソッドを実装しています。

それを考えると、NSNumberを期待しているコードにNSDecimalNumbersを与えても大丈夫ですか?

考えられる唯一の問題は、引数がNSNumberのインスタンスであることを確認するコードですが、NSNumberはクラスクラスターであるため、このようなコードでは、インスタンスがNSNumberのサブクラスであることを確認する必要があり、NSDecimalNumberインスタンスは同じものを渡す必要があります。テスト。

4

1 に答える 1

7

はい。

考えられる唯一の問題は、引数がNSNumberのインスタンスであることを確認するコードですが、NSNumberはクラスクラスターであるため、このようなコードでは、インスタンスがNSNumberのサブクラスであることを確認する必要があり、NSDecimalNumberインスタンスは同じものを渡す必要があります。テスト。

isKindOfClass:代わりに、オブジェクトがメッセージに応答するかどうかをテストすることをお勧めしますが、ここで問題が発生しますintegerValue

于 2010-03-14T04:08:26.500 に答える