代理设计模式是很多语言中都很常用的,objective-c中也不例外。下面就以一个简单的示例来认识代理模式。
我们简单的以:内部改变需要通知外部这种方式来写一段代码。
1.写一个Person类,实现一些基本的初始化方法和getter,setter方法
@interface Person : NSObject{
int _age;
NSString * _name;
}
-(instancetype)init;
-(void)setAge:(int)age;
-(int)age;
-(void)setName:(NSString*)name;
-(NSString*)name;
@end
@implementation Person
-(instancetype)init{
if ([super init]) {
}
return self;
}
- (int)age{
return _age;
}
- (void)setAge:(int)age{
_age = age;
}
- (NSString *)name{
return _name;
}
- (void)setName:(NSString *)name{
_name = name;
}
@end
2.用协议来写一监听。
@protocol PersonDelegate <NSObject>
-(void)ageChanged:(int)age;
@end
3.在Person类中实例化一PersonDelegate对象,作为通知对象。