59、iOS开发中的对象通信与Combine框架应用

iOS开发中的对象通信与Combine框架应用

在iOS开发中,对象间的通信是一个重要的主题。以下将详细介绍对象通信的多种方式以及Combine框架的应用。

1. 数据通信的时机

在某些情况下,一个视图控制器会创建另一个视图控制器实例,或者在segue的 prepare(for:sender:) 事件中将源视图控制器和目标视图控制器关联起来。在这些时刻,第一个视图控制器会短暂地持有第二个视图控制器的引用,此时应趁机将所需信息传递给第二个视图控制器,把握这个时机是数据通信的关键。

2. 获取对象引用

有时候,我们知道某个对象已经存在,但却不知如何引用它。比如一个视图控制器需要与另一个视图控制器通信,但既没有实例化该控制器,也不是其segue的源视图控制器。此时,不能简单地创建该类的新实例,因为我们需要的是已存在的特定实例。例如,应用的根视图控制器在应用启动后已经存在,若尝试通过实例化其类来与之通信是无效的:

let theVC = ViewController() // legal but pointless
2.1 通过关系获取可见性

对象间的关系能帮助我们获取对其他对象的引用。例如:
- 子视图可通过 superview 属性访问其父视图。
- 父视图可通过 subviews 属性访问所有子视图,还能通过 viewWithTag(_:) 方法根据标签获取特定子视图。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值