iOS 兩個viewcontroller之間的delegate傳值

來源:互聯網
上載者:User

iOS 兩個viewcontroller之間的delegate傳值
第二個介面往第一個介面傳值第二個介面

 

//第二個介面制定協議

@protocol ChuanZhiDelegate

- (void)chuanzhid;

@end

@interface ViewController2 : UIViewController

@property(nonatomic,assign)idchuanzhidelegate;

@end


 

- (void)viewDidLoad {

[super viewDidLoad];

self.view.backgroundColor=[UIColor cyanColor];

self.btn=[[UIButton alloc]initWithFrame:CGRectMake(70, 100, 100, 30)];

self.btn.backgroundColor=[UIColor redColor];

[self.view addSubview:self.btn];

[self.btn addTarget:self action:@selector(chuan) forControlEvents:UIControlEventTouchUpInside];

}

- (void)chuan{

if ([self.chuanzhidelegate respondsToSelector:@selector(chuanzhid)]) {

[self.chuanzhidelegate chuanzhid];

}else{

NSLog(@"代理沒有實現changeStatus:方法");

}

}


然後第一個介面

 

 

- (void)viewDidLoad {

[super viewDidLoad];

self.btn=[[UIButton alloc]initWithFrame:CGRectMake(70, 100, 100, 30)];

self.btn.backgroundColor=[UIColor redColor];

[self.view addSubview:self.btn];

[self.btn addTarget:self action:@selector(chuanzhi) forControlEvents:UIControlEventTouchUpInside];

self.view.backgroundColor=[UIColor lightGrayColor];

}

- (void)chuanzhi{

ViewController2 *vc=[[ViewController2 alloc]init];

vc.chuanzhidelegate=self;//設定為第二個介面的代理

[self.navigationController pushViewController:vc animated:YES];

}

//實現協議

- (void)chuanzhid{

NSLog(@"代理實現");

}


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.