Skip to main content

swift中协议

protocol接口

protocol ExampleProtocol {
var simpleDescription: String { get set } // 现在同时要求 getter 和 setter
mutating func adjust()
}
class SimpleClass: ExampleProtocol {
private var internalDescription = "A simple class"

var simpleDescription: String { // swift中的get和set实现
get {
return internalDescription
}
set {
internalDescription = newValue
}
}

func adjust() {
simpleDescription += " Now adjusted."
}
}

var simpleClassInstance = SimpleClass()
simpleClassInstance.simpleDescription = "New description"
print(simpleClassInstance.simpleDescription) // 输出 "New description"

defer

var fridgeIsOpen = false
let fridgeContent = ["milk", "eggs", "leftovers"]

func fridgeContains(_ food: String) -> Bool {
fridgeIsOpen = true
defer {
fridgeIsOpen = false
}

let result = fridgeContent.contains(food)
return result
}
fridgeContains("banana")
print(fridgeIsOpen)