3
斯威夫特可以有的地圖嗎?斯威夫特功能地圖
像這樣的東西(這是不工作):
let map = [
"action": func() { print("action!") },
"error": func() {print("error!") }
]
有什麼其他的設計模式,我可以按照實現這一目標?
斯威夫特可以有的地圖嗎?斯威夫特功能地圖
像這樣的東西(這是不工作):
let map = [
"action": func() { print("action!") },
"error": func() {print("error!") }
]
有什麼其他的設計模式,我可以按照實現這一目標?
您可以通過將關閉在字典
let map = [
"action": {() in print("action!") },
"error": {() in print("error!") }
]
或字典之外創建了一個功能,並讓他們的名字,然後使這些名稱爲字典
func action() {
print("action!")
}
func error() {
print("error!")
}
let map = [
"action": action,
"error": error
]
做到這一點,看起來像你想要的是一個匿名函數(aka closure),這是第一個解決方案給你的。 func
關鍵字只能用於創建命名函數。
[關閉文檔](https://developer.apple.com/library/ios/documentation/swift/conceptual/Swift_Programming_Language/Closures.html) – nerdwaller 2014-10-20 03:35:05