iOS关于delegate的使用
delegate传值:
A向B传值
1.在A的.h文件中声明:
@class ConfirmAndPaySheet;//ConfirmAndPaySheet为A的类名
@protocol confirmAndPayDelegate <NSObject>//confirmAndPayDelegate自己随便声明的delegate,最好用英文单词组成说明是干什么用的
- (void)payMoneyWithTag:(NSInteger)flag;//代理方法,自己随便写的,想传什么就怎么写若用"@optional"声明此方法就不需要必须实现
@end
2.在A的.h文件中
@interface ConfirmAndPaySheet : UIWindow
@property (nonatomic,assign) id<confirmAndPayDelegate>delegate;//注意:必须用assign
@end
3.在A的.m文件中,比如点击某个button,在其方法中用delegate调用代理方法传值,如下所示:
- (void)ConfirmAndPay:(UIButton *)btn{
[self.delegate payMoneyWithTag:self.btn.tag];//此处我是传了button的tag值,
}
4.在B的.m文件中引用代理,就如同使用tableView的代理方法一样了;
设置代理:A.delegate = B;
然后就是在B中实现A的代理方法;
- (void)payMoneyWithTag:(NSInteger)flag{
//比如:
B.testTag = flag;//此时就将A的flag值传给了B的testTag
}
Game Over