使用block实现两个页面之间的传统价值观

第二个view声明一个block属性:

@property (nonatomic, copy) void(^doTransferMsg)(NSString *_msg);

然后传值方法里检查block是不是存在

- (IBAction)transferText:(UIButton *)sender {

  if (_doTransferMsg) {

    _doTransferMsg(@"hello there");

    _doTransferMsg = nil;

  }

  [self.navigationController popViewControllerAnimated:YES];

}

主View里。创建第二个view的时候。顺便实现这个block

- (IBAction)LoadDetailView:(UIButton *)sender {

  [ibTextLabel setText:nil];

  DetailViewController *_curDetail = [[DetailViewController alloc] initWithNibName:@"DetailViewController"

                                                                            bundle:nil];

  [_curDetail setDoTransferMsg:^(NSString *_msg) {

    dispatch_async(dispatch_get_main_queue(), ^{

      [ibTextLabel setText:_msg];

    });

  }];

  [self.navigationController pushViewController:_curDetail

                                       animated:YES];

  [_curDetail release];

}

that’s all

版权声明:本文博客原创文章,博客,未经同意,不得转载。

上一篇:20165235 学习基础和C语言基础调查


下一篇:Django--用户认证组件auth(登录用-依赖session,其他用)