用block实现两个页面间的传值_html/css_WEB-ITnose

WBOY
풀어 주다: 2016-06-24 12:01:26
원래의
1203명이 탐색했습니다.

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿