KVO 通知 代理
1、代理
(1)代理简述
delegate可以让View和Controller进行交互。
代理是一种软件设计模式,通过@protocol形式体现,是一对一的传递。
(2)在MVC中的用法
- 在View.h中自定义代理并提供了两个方法:
@protocol LoginViewDelegate <NSObject>
- (void)loginpass;
- (void)resighpass;
@end
@interface LoginView : UIView
@property id<LoginViewDelegate> delegate;
@end
- 在View.m中触发代理方法,执行代理回调。
if ([_delegate respondsToSelector:@selector(loginpass)]) {
[_delegate loginpass];
}
if ([_delegate respondsToSelector:@selector(resighpass)]) {
[_delegate resighpass];
}
- 在Controller.m中声明代理,实现代理方法,调用代理方法。
#import "LoginViewController.h"