iOS开发中的对象通信与语言交互
在iOS开发中,对象之间的通信以及不同编程语言之间的交互是非常重要的部分。下面将详细介绍相关的知识。
对象间的通信方式
在iOS开发里,不同nib文件中的对象无法直接建立连接,因为它们会在不同时间加载。不过,可以通过一些方式来实现对象间的通信。
引入中间对象
当nib A和nib B中的对象需要通信时,可以引入一个中间对象。例如,在故事板中触发segue时,segue就相当于中间对象。它会实例化目标视图控制器,同时持有源视图控制器的引用。segue会向源视图控制器发送 prepare(for:sender:) 消息,源视图控制器可以借此机会获取目标视图控制器的引用,进而设置委托、传递信息等。
基于关系的可见性
对象可以凭借其在包含结构中的位置自动获得相互可见的能力。在考虑如何为一个对象提供另一个对象的引用之前,应先思考是否已经存在从一个对象到另一个对象的引用链。
- 视图层次结构 :子视图可以通过 superview 属性访问其父视图;父视图可以通过 subviews 属性访问所有子视图,还能通过 viewWithTag(_:) 方法根据标签选择特定子视图;窗口中的子视图可以通过 window 属性访问其所在窗口。
// 通过视图层次结构获取视图控制器引用
var r : UIResponder! = se
超级会员免费看
订阅专栏 解锁全文
1137

被折叠的 条评论
为什么被折叠?



