swift - 我可以在 Swift 中使用函数结果 "inline"设置变量值吗?

标签 swift

很抱歉,如果这是一个愚蠢的问题,但我认为这样做是可能的:

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/

相关文章:

ios - 使用自定义样式在 Swift 中创建 UITextField 扩展

ios - 自定义 View 未初始化

ios - Google Advance 原生广告显示问题

objective-c - UITableView 行分隔符设计

ios - Apple Watch 应用程序的二进制大小

ios - NSUserDefaults 创建全局可访问的变量

swift - 多个条目进入 tableView

ios - 选择和取消选择表格 View 单元格

选择显示键盘的单元格时,iOS TableView 的 indexPath 错误

Swift 游戏碰撞检测和物理 - Sprite 和背景