A ViewController 接收蓝牙传过来的数据,现在A modal方式转到B ViewController,想实现当A接收到某个数据后传到B. 不知道有什么好方法,求大神指点一下。
1
jianzong 2015-07-11 16:13:00 +08:00 via iPhone
modal指的是弹窗吧?这个只是界面呈现的方式跟数据传递关系不大吧。
要看具体应用场景,一对一的话可以用delegate,一对多可以用notification。 |
2
andychen20121130 OP @jianzong 我在A 里定义了protocol 然后在B里实现方法,但是没起作用
|
3
georgetso 2015-07-11 16:43:23 +08:00
@andychen20121130 在A调用protocol method的地方打日志,观察以下内容:
1. 调用procotol method的地方是否被执行 2. 如果被执行到,打印B是否正常 3. 如果B正常,打印数据是否正常 |
4
LINAICAI 2015-07-11 16:55:12 +08:00
。。。在A控制器写一个委托啊,并且初始化B的时候设置A的委托对象B,B实现协议,那么当A收到数据的时候就可以调用A.delegate(参数1,参数2)什么的了,这时候,因为B实现协议,自然会收到参数A,B了。。
|
5
andychen20121130 OP @LINAICAI 这样试了,没有执行委托函数。
|
6
andychen20121130 OP @georgetso A在调用了[[self delegate]函数] ; B中没有执行到 函数
|
7
LINAICAI 2015-07-11 17:04:32 +08:00
@andychen20121130 检查下你调用的姿势对不对。。先打印下A的delegate是否为空了,不然这样是应该能成功的
|
8
andychen20121130 OP @LINAICAI 在B中NSLog(@"%@",_vc.delegate] 不是空。
|
9
loveuqian 2015-07-11 17:12:40 +08:00 via iPhone
正在学iOS的路过,表示这贴里面的单词都懂,但整个帖子看不懂。。。还是继续吧
|
10
LINAICAI 2015-07-11 17:19:15 +08:00
[a setDelegate:b]了没有。。。
|
11
georgetso 2015-07-11 22:39:38 +08:00
@andychen20121130 [self delegate] 为空。建议在调用代码前打印 [self delegate] 看看
|
12
andychen20121130 OP @LINAICAI 谢谢!
|
13
andychen20121130 OP @LINAICAI 还是传不过来。
|