Swift 关联类型(Associated Types)的深度解析
在 Swift 编程中,关联类型(Associated Types)是一个强大但又相对复杂的概念。它能让我们的协议更加通用和灵活,但理解和运用起来也颇具挑战。本文将深入探讨关联类型的相关知识,通过具体的例子和代码来帮助你掌握这一重要特性。
关联类型的引入背景
在开发中,我们常常需要创建一些协议来规范某些行为。例如,我们想要创建一个 Worker 协议来表示一项工作任务。最初,我们可能会这样定义:
protocol Worker {
@discardableResult
func start(input: String) -> Bool
}
class MailJob: Worker {
func start(input: String) -> Bool {
// Send mail to email address (input can represent an email address)
// On finished, return whether or not everything succeeded
return true
}
}
这个 Worker 协议适用于 MailJob 类,因为 MailJob 的输入是 String 类型的邮件地址,输出是 Bo
超级会员免费看
订阅专栏 解锁全文
67

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



