****在.h文件中:
#warning 第一步 声明协议
@protocol ChangeColorDelegate <NSObject>
- (void)changeColor;
@end
@interface AView : UIView
#warning 第二步 设置代理人
@property (nonatomic, assign) id<ChangeColorDelegate>colorDelegate;
- (void)change:(UIButton *)button
{
// 一定要写在触发方法里,如果是按钮就写在点击按钮后触发的方法里
// 协议代理前三步一定是在第二个类里写
// 后三步在第一个类里写
[self.colorDelegate changeColor];
}
#warning 第四步 签订协议
@interface RootViewController : UIViewController<ChangeColorDelegate>
@property (nonatomic, retain) AView *aView;
#warning 第五步 指定代理人
self.aView.colorDelegate = self;
#warning 第六步 实现代理方法
- (void)changeColor
{
NSLog(@"执行,有人点我了, 我要改你里面的东西");
self.view.backgroundColor = [UIColor colorWithRed:arc4random() % 256/255.0 green:arc4random() % 256/255.0 blue:77 alpha:0.5];
}