很抱歉,如果这是一个愚蠢的问题,但我认为这样做是可能的:
lblTitle.text = {
switch tag {
case 0:
return "title0"
default:
return "DefaultTitle"
}
}->String
我知道这是不正确的,但是有什么办法可以做到吗?
我在 Apple 文档和 Internet 上查找了很长时间,但一无所获。
最佳答案
试试这个:
lblTitle.text = {
switch tag {
case 0:
return "title0"
default:
return "DefaultTitle"
}
}()
只是想补充一下。
您也可以通过这种方式创建变量,但您需要像这样添加类型信息...
// If you don't provide type then the closure is ambiguous
let someLabel: UILabel = {
let l = UILabel()
l.font = .systemFont(ofSize: 20)
l.textColor = .red
l.text = "Hello, world!"
return l
}()
关于swift - 我可以在 Swift 中使用函数结果 "inline"设置变量值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44283854/