利用block进行界面传值
2015-10-21 20:02 捏捏的blog 阅读(143) 评论(0) 收藏 举报小插曲:今天是我的博客开通日,为了庆祝,我写了一篇随笔试试水,有点小激动(作为一个ios新手)
剧情引入:
-(void)butClicked
{
viewControllerC *cc=[[viewControllerC alloc]init];
#pragma -mark
//初始定义一个viewControllerC的对象时,这个名为viewControllerCToA的block变量为空。一旦block变量-viewControolerCToA被赋值了,就会执行以下语句,就是从viewControllerC传给值到这个界面
cc.viewControllerCToA=^(NSString * CAtext){
[self resetLabel:CAtext];
};
//自定义了navigationController就是这样的跳转的,该方法用于将制定的UIviewController压入uinavigationController管理的栈中。
// [self.navigationController pushViewController:cc animated:YES];
[self presentViewController:cc animated:YES completion:^{}];
}
在viewControllerC.m文件中
//button点击返回A的点击事件
-(void)buttonClick
{
if (self.textfield.text.length==0) {
UIAlertView * alert=[[UIAlertView alloc]initWithTitle:@"请收入你要传到C的值" message:nil delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
[alert show];
return;
}
else
{////////调用系统自带的set方法之后,viewControllerCToA就不为空了
NSLog(@"在界面A赋值的神奇字符串:%@",self.shenqiStr);
if(self.viewControllerCToA)
{
self.viewControllerCToA(self.textfield.text);
//程序下一步就回自动跳转到viewControllerA.m,然后运行以下语句
//cc.viewControllerCToA=^(NSString * CAtext){
// [self resetLabel:CAtext];
//};
}
[self dismissViewControllerAnimated:YES completion:^{}];
}
}
浙公网安备 33010602011771号