55、iOS开发中的通知、MVC架构及C、Objective - C与Swift交互

iOS开发核心机制解析

iOS开发中的通知、MVC架构及C、Objective - C与Swift交互

1. 通知机制

通知中心是一个全局可见的对象,每个对象都能向其发送或接收通知。虽然使用通知可能看似有些“偷懒”,但有时一个对象确实无需知道消息的接收方是谁。

例如在简单的纸牌游戏应用中,当纸牌被点击时,纸牌对象无需了解游戏对象的情况,只需通过发布通知来发出“信号”。游戏对象已注册该通知,会在接收到通知后进行相应处理,代码如下:

NotificationCenter.default.post(name: .cardTapped, object: self)

再如,应用委托可能检测到需要重新构建界面。为避免内存泄漏等问题,所有正在运行重复定时器的视图控制器都需要使定时器失效。此时,应用委托可以通过发布通知来告知所有相关视图控制器,代码示例如下:

// 应用委托发布通知
NotificationCenter.default.post(name: .stopTimers, object: self)

// 视图控制器注册通知
NotificationCenter.default.addObserver(self, selector: #selector(stopTimer), name: .stopTimers, object: nil)

@objc func stopTimer() {
    // 停止定时器的操作
    timer.invalidate()
}

Cocoa本身也为许多委

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值