IOS笔记UI--Block传值

本文介绍了一种使用Block在iOS的两个ViewController间传递值的方法。通过在第一个ViewController中初始化Block,并在第二个ViewController中声明及调用它来实现跨ViewController的数据传递。文章提供了具体的Swift代码示例并强调了Block使用的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

申明:此为本人学习笔记,若有纰漏错误之处的可留言共同探讨


/*
block传值思路
假设:我们要在第二个VC(ViewController)传值到第一个VC,那么我们应该这么做
1 在第二个VC声明block,并且给它数据
2 在第一个VC初始化block
3 在第二个VC调用block

这里要注意的是,block不要在加载的时候给它赋值,否则会崩溃。使用的时候也不能在加载的时候使用(也根本不可能在加载的时候就能使用),否则也会奔溃

*/

关键代码如下:
VC1

#pragma mark -  buttonClick

- (IBAction)myButton:(UIButton *)sender

{

    NextViewController *next = [[NextViewController alloc]init];

    [self presentViewController:next animated:YES completion:nil];

    // 初始化

    next.myBlock = ^void(NSString* string)

    {

        self.myLabel.text = string;

    };


}


VC2


// 声明

@property(nonatomic,strong)void(^myBlock)(NSString*);




#pragma mark - buttonClick

- (IBAction)myButton:(UIButton *)sender

{


// 调用

   _myBlock(self.myLabel.text);

    [self dismissViewControllerAnimated:YES completion:nil];

}




完整代码Demo:http://download.youkuaiyun.com/detail/csdn_hhg/9203639

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值