Swift编程技巧与优化策略
1. 通过协议添加逻辑
1.1 问题描述
期望从协议继承逻辑,而不仅仅是方法和变量名。
1.2 解决方案
在协议中添加扩展,编写供实现该协议的类型共享的代码。
1.3 示例代码
protocol HasFullName{
var firstName: String {get}
var lastName: String {get}
}
extension HasFullName{
var fullName: String{
return "\(firstName) \(lastName)"
}
}
struct Person: HasFullName{
let firstName: String
let lastName: String
}
let fooBar = Person(firstName: "Foo", lastName: "Bar")
print(fooBar.fullName) // "Foo Bar"
1.4 更多示例
以实现可下载内容的协议为例:
protocol Fetchable{
var fetchableUrl: URL? {get}
}
extension Fetchable{
typealias FetchCompletion = (Either<Data,
超级会员免费看
订阅专栏 解锁全文
14

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



