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

posted on 2017-04-21 20:25  jane_IOS  阅读(209)  评论(0编辑  收藏  举报

导航