0

デリゲートを指定しない場合self、デフォルトのデリゲートですか?

また、持っている場合は、それがデフォルトでUITextFieldあるかどうかを確認する必要がありますか?UITextFieldDelegate

4

1 に答える 1

2

代理人を指定しない場合は、

どのオブジェクトの?決定するのは特定のオブジェクトの実装次第です。

自己はデフォルトのデリゲートですか?

いいえ、他の情報がない場合、代理人はおそらくゼロになります。

ただし、クラス実装を作成していて、オブジェクトがselfデフォルトでデリゲートを設定するようにしたい場合は、確かにそれを行うことができます。ただし、これは通常、便利というよりも混乱を招くと思います。

デフォルトで何かをしたい場合は、デリゲートがnilかどうかを確認してください。(誰かがあなたの代理人を常にnilに設定する可能性があるので、とにかくそのチェックを行う必要があります。)

UITextFieldがある場合、それがUITextFieldDelegateであることを確認する必要がありますか、それともデフォルトで1つですか?

UITextFieldのメソッドのいずれも実装していませんUITextFieldDelegate-または少なくともそれが実装していることをアドバタイズしていません-したがって、ここで何を意味するのかわかりません。AUITextField自体はとして機能することはできませんUITextFieldDelegate

プロトコルにメソッドをサブクラス化UITextFieldして追加する場合は、実装としてマークを付けることができます。UITextFieldDelegateUITextFieldDelegate

@interface MyTextField : UITextField <UITextFieldDelegate>

しかし、それはデフォルトでは発生しません。発生させる必要があります。

于 2012-04-15T00:52:07.023 に答える