Swift 是不是;“合法的”;或者在现实生活中用于将类/结构放在类/结构中?

Swift 是不是;“合法的”;或者在现实生活中用于将类/结构放在类/结构中?,swift,class,struct,Swift,Class,Struct,我知道如何将值从一个结构分配到嵌套结构。我只是想看看这在现实生活中是否被使用或“合法”。是的,这种方法在现实生活中被使用 看看这个例子(这里我使用的是枚举,但我们可以想象结构和类的类似例子) 两个结构内部都定义了Speed类型。由于速度枚举是在太空船和飞机的名称空间中定义的,因此没有命名冲突,一切都非常清楚 它肯定是在现实生活中使用的。苹果甚至在他们的一个示例代码中推荐了这一点 “合法”是什么意思?它确实编译过,所以可能是合法的;)我的意思是,人们在现实生活中真的这样做了吗。程序员正在使用这种策

我知道如何将值从一个结构分配到嵌套结构。我只是想看看这在现实生活中是否被使用或“合法”。

是的,这种方法在现实生活中被使用

看看这个例子(这里我使用的是枚举,但我们可以想象结构和类的类似例子)


两个结构内部都定义了
Speed
类型。由于
速度
枚举是在
太空船
飞机
的名称空间中定义的,因此没有命名冲突,一切都非常清楚

它肯定是在现实生活中使用的。苹果甚至在他们的一个示例代码中推荐了这一点

“合法”是什么意思?它确实编译过,所以可能是合法的;)我的意思是,人们在现实生活中真的这样做了吗。程序员正在使用这种策略吗@appzYourLife
String.CharacterView
Calendar.Identifier
是Swift标准库中的示例。嵌套类型定义不能替代子类化(如果您正在考虑的话)。您刚刚定义了两种(或多或少不相关的)类型
Shape
Shape.Rectangle
。是的。很好。为什么不?好吧,我知道你的方向了。我的示例类似于,如果您有一个类型
形状
、一个类型
矩形
、一个类型
正方形
。将这两种类型放入
Shape
@appzYourLife@FusionPointInc当前位置我更新了我的答案,请看一看。是的,我理解,但我的意思是,如果你把那架飞机放在宇宙飞船下面,那还练习吗?你是否有值并不重要。将type
Shape
、type
Rect
和type
Circle
放在
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
}