(iOS开发*)现有一个viewController,present了一个modal view c

(iOS开发*)现有一个viewController,present了一个modalviewcontroller,当modalviewcontroller消失的时候如何把... (iOS开发*)现有一个viewController,present了一个modal view controller,当modal view controller消失的时候如何把数据传回现有的viewController 展开
 我来答
百度网友7ed8e52
2014-08-26 · TA获得超过147个赞
知道答主
回答量:23
采纳率:0%
帮助的人:36.8万
展开全部
比如你从controller A present了controller B,在B dismiss的时候,把B的一个属性x传给A:
首先在A中需要一个接收器,用来接收从B传回来的值,实际上就是给A添加一个属性,类型和x一样,比如如果x是NSString,那么在A中增加一个NSString类型的属性,取名为y,然后在B中需要一个指向A的指针,在iOS中,我们喜欢把这个指针叫做代理(或者委托),所以在B中添加一个属性:@property (nonatomic, assign) A类名 * delegate,这里一定要用assign或者weak,不然会造成循环引用。
准备工作做完了。在A中初始化B的时候,设置delegate:B.delegate = self。
这样就关联起来了,然后在B中,dismiss的时候(或者在completion的block里面),把你要传的那个属性传给delegate:self.delegate.y = x;
大功告成。
关于代理,你可以去搜索一下协议-代理设计模式,这是iOS开发中用的比较多的一种模式,是iOS的一种回调机制。
e夜11
2014-08-26
知道答主
回答量:9
采纳率:0%
帮助的人:1.2万
展开全部
可以用一个代理的方式来做两个对象间的数据传输
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lc5491137
2014-08-26 · TA获得超过534个赞
知道小有建树答主
回答量:547
采纳率:0%
帮助的人:436万
展开全部
委托代理,通知都可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式