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

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

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

第二个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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117387.html原文链接:https://javaforall.net

(0)
上一篇 2022年1月6日 下午3:00
下一篇 2022年1月6日 下午3:00


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号