14

Apple API バージョン 1.0 で、「color」プロパティを持つクラス NSFoo があるとします。API 1.1 はプロパティ「サイズ」を追加します。

getter: myFoo.size を使用できるかどうかを知りたい

[myFoo RespondsToSelector:@selector(getSize)] が期待どおりに機能しません。

オブジェクトにプロパティがあるかどうかを確認する正しい方法は何ですか? ありがとう!

4

1 に答える 1

36

あなたは近くにいます。セレクターは、オブジェクトに送信するメッセージとまったく同じである必要があります。

if ( [myFoo respondsToSelector:@selector(size)] ) {
    int size = [myFoo size]; // or myFoo.size in dot-notation.
    // ...
}

動作するはずです。

于 2010-06-17T05:18:01.510 に答える