Swift 2017-05-21 23:23
iOS通知中心封装库SwiftNotificationCenter
回复:0 查看:7646 感兴趣:72 赞:2
SwiftNotificationCenter是一个面向协议的iOS通知中心库,用Swift编写。
特性类型安全、线程安全、内存安全。
示例代码:
特性类型安全、线程安全、内存安全。
- 类型安全
没有更多的userInfo字典和向下转型,只要传递具体的值给观察者。 - 线程安全
你可以在任何线程中register、notify、unregister,而不会崩溃和数据损坏。 - 内存安全
SwiftNotificationCenter将观察者存储为zeroing-weak引用。 没有崩溃,无需手动注销。
示例代码:
//Define protocol and observer:
protocol Update {
func updateTitle(title: String)
}
extension ViewController: Update {
func updateTitle(title: String) {
self.titleLabel.text = title
}
}
let vc = ViewController()
//Register:
Broadcaster.register(Update.self, observer: vc)
//Broadcast:
Broadcaster.notify(Update.self) {
$0.updateTitle("new title")
}
//Unregister:
Broadcaster.unregister(Update.self, observer: self)
相关开源代码
EFIconFont: 一个用 Swift 实现的 IconFont 封装
Swift Zip文件压缩与解压框架
EFResume - 一个普通的 Swift 简历模板
Swift 优雅的定时器及执行工具库 Each
Swift 解析、格式化及验证国际电话号码工具库 PhoneNumberKit
Swift 版 FlatBuffers(跨平台序列化库)FlatBuffersSwift
Swift 编写的 Github API 客户端 Github.swift
Swift OAuth授权库 SwiftyOAuth
Swift 音频处理库 TempiFFT
Swift JSON 解析类 Unbox