Code Bye

ios中简单的跨界面传值 delegate的方法不实现


本人将第一个界面的TextFiled中的输入内容 传给第二个界面的label显示出来 用代理方法 但是为什么不实现呀  这是本人的全部代码
解决方案

10

你弄混了,第一往第2个传为什么用delegate?
就算你非要用,第一个页面里changView里的_ delegate应该是空的吧?

20

你先看看你changView里的_ delegate是不是空的吧。
A里push一个B。
A往B里传值,直接调用B的方法或赋值就行了。
想B往A里传值,把A的self赋值到B的delegate,然后在B的页面就能操作A了。
但是以本人理解你的代码是:A里push了一个B,然后在B里面生成了一个和A类型一样的C,注意这里的A和C只是类型相同,地址是不一样的。

10

第一个界面往第二个假面传值,直接:
NextViewController *vc = [[NextViewController alloc] init];
[vc returnStringToFirstViewController:@"abc"];
[self.navigationController pushViewController:vc animated:YES];

即可
假如你一定需要用delegate
那么首先在第二个controller中的delegate定义方法并在第一个controller中实现

- (NSString *)stringWithFirstViewController{
return self.textfield.text;
}

然后在第二个controller的viewDidLoad中:

if(self.delegate && [self.delegate respondsToSelector:@selector(stringWithFirstViewController)]){
self.label.text = [self.delegate stringWithFirstViewController];
}

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明ios中简单的跨界面传值 delegate的方法不实现