当前位置: 首页 > 工具软件 > iOS Block UI > 使用案例 >

IOS笔记UI--Block传值

常英毅
2023-12-01

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


/*
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.csdn.net/detail/csdn_hhg/9203639

 类似资料: