block 전송값 (2)

1173 단어 block
이전 Block 코드 블록의 기초 사용 추가 (1)
ViewController
- (IBAction)gotoNextVC:(UIButton *)sender
{
    SecondVC *vc = [[SecondVC alloc]init];    
    //                block ,   block         ,                block          。
    vc.changeColorBlock = ^(UIColor *color)
    {
        self.view.backgroundColor = color;
    };
    [self.navigationController pushViewController:vc animated:YES];
}
//block property    copy
@property (nonatomic,copy)void (^changeColorBlock)(UIColor *);
- (IBAction)changeColor:(UIButton *)sender
{
    UIColor *color = nil;
    switch (sender.tag)
    {
        case 1:
            color = [UIColor redColor];
            break;
        case 2:
            color = [UIColor greenColor];
            break;
        case 3:
            color = [UIColor blueColor];
            break;
        default:
            break;
    }
    
    //  block
    if (_changeColorBlock)
    {
        //  block     ,    block    ,         block    。
        _changeColorBlock(color);
    }
    [self.navigationController popViewControllerAnimated:YES];
}

좋은 웹페이지 즐겨찾기