英语轻松读发新版了,欢迎下载、更新

[求助]关于在声明协议的 controller 中传参数给遵循协议的 controller

jie 发布于 2014年08月11日 | 更新于 2014年08月11日
无人欣赏。

在声明协议的 controller 中讲参数传递给遵循协议的 controller

声明协议的 controller 中有:

[self.delegate doSomething:parameter];

在遵循协议的 controller 中:

- (void)doSomething:(nsstring *)test { self.para = test; NSLog(@"%@", self.para); }

但是这里的self.para 并没有起作用。只是局部变量。nslog 会打印出新的值,但在该 controller 中添加一个按钮,点击之后打印self.para ,结果还是旧的值。

初学 iOS 不久,这个问题不太好 Google,不得已求助。真心感谢

共5条回复
snoopy 回复于 2014年08月11日

delegate = self 设置了吗?

jie 回复于 2014年08月11日

1楼 @snoopy 是的,设置了。已经触发了- (void)里的函数,不然不会 nslog 出来东西

Hector 回复于 2014年08月11日

是不是在

self.para = test;

之后,在其他地方修改过 self.para 或 _para 的值

如果不是,上 demo 代码吧

freecunix 回复于 2014年08月11日

断点自己找,工程大就新建一个小测试工程。没有好办法

jie 回复于 2014年08月11日

3楼 @Hector

4楼 @freecunix

设置了断点,监控什么时候修改过这个值,发现没有修改过。很神奇,最后还是换了一种方法去实现。也找人现场指导了一下还是没发现问题。

谢谢回复!

登录 或者 注册