ios 数据共享问题

2015-07-11 15:56:12 +08:00
 andychen20121130

A ViewController 接收蓝牙传过来的数据,现在A modal方式转到B ViewController,想实现当A接收到某个数据后传到B. 不知道有什么好方法,求大神指点一下。

1585 次点击
所在节点    问与答
13 条回复
jianzong
2015-07-11 16:13:00 +08:00
modal指的是弹窗吧?这个只是界面呈现的方式跟数据传递关系不大吧。
要看具体应用场景,一对一的话可以用delegate,一对多可以用notification。
andychen20121130
2015-07-11 16:16:31 +08:00
@jianzong 我在A 里定义了protocol 然后在B里实现方法,但是没起作用
georgetso
2015-07-11 16:43:23 +08:00
@andychen20121130 在A调用protocol method的地方打日志,观察以下内容:

1. 调用procotol method的地方是否被执行
2. 如果被执行到,打印B是否正常
3. 如果B正常,打印数据是否正常
LINAICAI
2015-07-11 16:55:12 +08:00
。。。在A控制器写一个委托啊,并且初始化B的时候设置A的委托对象B,B实现协议,那么当A收到数据的时候就可以调用A.delegate(参数1,参数2)什么的了,这时候,因为B实现协议,自然会收到参数A,B了。。
andychen20121130
2015-07-11 16:58:18 +08:00
@LINAICAI 这样试了,没有执行委托函数。
andychen20121130
2015-07-11 16:59:26 +08:00
@georgetso A在调用了[[self delegate]函数] ; B中没有执行到 函数
LINAICAI
2015-07-11 17:04:32 +08:00
@andychen20121130 检查下你调用的姿势对不对。。先打印下A的delegate是否为空了,不然这样是应该能成功的
andychen20121130
2015-07-11 17:11:22 +08:00
@LINAICAI 在B中NSLog(@"%@",_vc.delegate] 不是空。
loveuqian
2015-07-11 17:12:40 +08:00
正在学iOS的路过,表示这贴里面的单词都懂,但整个帖子看不懂。。。还是继续吧
LINAICAI
2015-07-11 17:19:15 +08:00
[a setDelegate:b]了没有。。。
georgetso
2015-07-11 22:39:38 +08:00
@andychen20121130 [self delegate] 为空。建议在调用代码前打印 [self delegate] 看看
andychen20121130
2015-07-13 09:09:48 +08:00
@LINAICAI 谢谢!
andychen20121130
2015-07-13 11:25:37 +08:00
@LINAICAI 还是传不过来。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/204973

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX