クラスにUIコントロールを実装すると、クラスはこのUIから通知を受け取り、別のクラスにメッセージを送信できます(同じデリゲートテクニックを使用して、最初のクラスでデリゲートプロパティを実装し、次に2番目のクラスでデリゲートメソッドを実装します)ファーストクラスから)。たとえば、UITextFieldメソッドの場合-textFieldDidEndEditing:
ファーストクラスで-
1)プロトコルを実装します。
@protocol TextControllerDelegate <NSObject>
@optional // Delegate protocols
- (void)textFieldDidEndEditing:(UITextField *)textField;
@end
2)@property (nonatomic, unsafe_unretained, readwrite) id <TextControllerDelegate> delegate;
3)メソッド内-(void)textFieldDidEndEditing:(UITextField *)textField
クラス内で、[delegate textFieldDidEndEditing:textField]
2番目のクラス:
1)ファーストクラスのオブジェクトを実装し、デリゲートを自分自身に設定します(セカンドクラスに)。
2)メソッドの実装-(void)textFieldDidEndEditing:(UITextField *)textField