gpt4 book ai didi

ios - 如何在一行中声明变量和枚举声明?

转载 作者:行者123 更新时间:2023-12-01 18:48:42 25 4
gpt4 key购买 nike

有没有一种方法可以将其简化为Swift 2.0中的一行?

enum Direction {
case Up
case Down
}
var panDirection: Direction?

像这样的东西,不起作用:
var panDirection = enum Direction {
case Up
case Down
}

最佳答案

即使您可以做到,这些也不尽相同。 enum是一种对象类型,类似于class。在第一个示例中,panDirection是Direction枚举的一个实例。在您的第二个示例中,如果可以编译并运行,panDirection最终将作为枚举本身(类型,而不是类型的实例)—根本不是您想要的。

因此,您想要做的是在一行中间声明一个类型。你不能那样做。您可以在哪里声明类型的规则非常明确且非常严格。

但是请注意,您可以在其他类型中声明一个类型,甚至可以在本地声明一个类型,例如在函数的代码中。因此,例如,您可以临时声明类型,作为在函数内部传递数据的一种方式。坚果但合法:

func myCoolFunction(up:Bool) {
enum Direction : String {
case Up
case Down
}
let dir : Direction = (up ? .Up : .Down)
print("user wants \(dir)")
}

关于ios - 如何在一行中声明变量和枚举声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32893785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com