1. ホーム
  2. ios

[解決済み] iOS isKindOfClassとisMemberOfClassの違いについて

2022-04-26 17:36:48

質問

の違いは何ですか? isKindOfClass:(Class)aClassisMemberOfClass:(Class)aClass という関数があります。 私は、一方がグローバルであり、他方が正確なクラスマッチであるというような小さなものであることを知っていますが、私は誰かがどちらがどちらであるかを特定する必要がありますお願いします。

Swiftの場合 isKind(of aClass: AnyClass)isMember(of aClass: AnyClass) .

解決方法は?

isKindOfClass: リターン YES もし、受信者が がインスタンス 指定されたクラスの または のインスタンスです。 を継承しています。 指定されたクラスから

isMemberOfClass: が返ってくる YES は、レシーバが はインスタンス を指定します。

を使いたい場合がほとんどです。 isKindOfClass: を使用して、サブクラスでもコードが動作するようにします。

NSObject プロトコルリファレンス は、これらのメソッドについてもう少し詳しく説明しています。