Swift 是不是;“合法的”;或者在现实生活中用于将类/结构放在类/结构中?
我知道如何将值从一个结构分配到嵌套结构。我只是想看看这在现实生活中是否被使用或“合法”。是的,这种方法在现实生活中被使用 看看这个例子(这里我使用的是枚举,但我们可以想象结构和类的类似例子)Swift 是不是;“合法的”;或者在现实生活中用于将类/结构放在类/结构中?,swift,class,struct,Swift,Class,Struct,我知道如何将值从一个结构分配到嵌套结构。我只是想看看这在现实生活中是否被使用或“合法”。是的,这种方法在现实生活中被使用 看看这个例子(这里我使用的是枚举,但我们可以想象结构和类的类似例子) 两个结构内部都定义了Speed类型。由于速度枚举是在太空船和飞机的名称空间中定义的,因此没有命名冲突,一切都非常清楚 它肯定是在现实生活中使用的。苹果甚至在他们的一个示例代码中推荐了这一点 “合法”是什么意思?它确实编译过,所以可能是合法的;)我的意思是,人们在现实生活中真的这样做了吗。程序员正在使用这种策
两个结构内部都定义了
Speed
类型。由于速度
枚举是在太空船
和飞机
的名称空间中定义的,因此没有命名冲突,一切都非常清楚 它肯定是在现实生活中使用的。苹果甚至在他们的一个示例代码中推荐了这一点 “合法”是什么意思?它确实编译过,所以可能是合法的;)我的意思是,人们在现实生活中真的这样做了吗。程序员正在使用这种策略吗@appzYourLifeString.CharacterView
,Calendar.Identifier
是Swift标准库中的示例。嵌套类型定义不能替代子类化(如果您正在考虑的话)。您刚刚定义了两种(或多或少不相关的)类型Shape
和Shape.Rectangle
。是的。很好。为什么不?好吧,我知道你的方向了。我的示例类似于,如果您有一个类型形状
、一个类型矩形
、一个类型正方形
。将这两种类型放入Shape
@appzYourLife@FusionPointInc当前位置我更新了我的答案,请看一看。是的,我理解,但我的意思是,如果你把那架飞机放在宇宙飞船下面,那还练习吗?你是否有值并不重要。将typeShape
、typeRect
和typeCircle
放在Shape
下并将Rect
和Circle
放在Shape
下是有意义的。这取决于你想做什么。嵌套这些类型的优点是,有时以这种方式对事物进行推理更容易。在该示例代码中,您可以看到许多在类中定义的枚举,因为它们在这些类中使用。我不确定你的案子是否适合。
struct Shape{
var length: Float = 0
var width: Float = 0
struct Rectange {
var length = Shape().length
var width = Shape().width
var area: Float{
get{
return length * width
}
}
}
}
struct Spaceship {
enum Speed {
case warp, light
}
let maxSpeed: Speed
}
struct Airplane {
enum Speed {
case subsonic, supersonic
}
let maxSpeed: Speed
}