我想声明一个存储可选结构的变量,如下所示:
struct my_struct{
var x: Double
var y: Double
}
var my_variable = my_struct?这个语法在Swift2中是正确的,对吗?不幸的是,它不再在Swift3中工作了。实现这一目标的“新”方式是什么?
发布于 2016-12-22 17:42:40
这种语法在Swift 2中也不起作用。
首先,让我们使用一个Swift兼容的名称
struct MyStruct { ... }你有两个选择:
myVariable : MyStruct?声明一个没有值的可选结构(nil)myVariable : MyStruct? = MyStruct()声明了一个可选的空结构。注意:考虑到您必须在第二种形式中为结构的属性赋值默认值,或者使用成员初始化程序或编写自定义初始化程序。
PS:不要用选项词作为不在场证明。Swift鼓励您尽可能多地使用非可选类型。
发布于 2016-12-22 17:41:20
struct my_struct{
var x: Double
var y: Double
}
var my_variable:my_struct?请注意,类型通常是大写和骆驼大小写的惯例,在Swift。
struct MyStruct {
var x: Double
var y: Double
}
var myVariable: MyStruct?https://stackoverflow.com/questions/41288858
复制相似问题