Vik*_*ngh 7 closures ios swift
我想创建一个Swift字典,它将String类型作为其键,将Closures作为其值.以下是我的代码,但它给了我错误:
'@lvalue与'(String,( - - > Void)'不同
class CommandResolver {
private var commandDict:[String : () -> Void]!
init() {
self.setUpCommandDict();
}
func setUpCommandDict() {
self.commandDict["OpenAssessment_1"] = {
println("I am inside closure");
}
}
}
Run Code Online (Sandbox Code Playgroud)
我试着在StackOverflow上查看关于词典中的闭包的其他问题,但它没有给我任何满意的答案.所以我非常感谢这里的一些帮助.
这是要走的路.我不确定为什么你的实现不起作用.
class CommandResolver {
typealias MyBlock = () -> Void
private var commandDict:[String : MyBlock] = [String:MyBlock]()
init() {
self.setUpCommandDict();
}
func setUpCommandDict() {
self.commandDict["OpenAssessment_1"] = {
print("I am inside closure");
}
}
}
Run Code Online (Sandbox Code Playgroud)
init如果您在调用设置函数之前初始化字典,它应该可以工作:
class CommandResolver {
private var commandDict: [String: () -> Void]
init() {
commandDict = [:]
setUpCommandDict()
}
func setUpCommandDict() {
commandDict["OpenAssessment_1"] = {
println("I am inside closure")
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4196 次 |
| 最近记录: |