它可能是基本的和错误的,但在理解结构之后,我不知道实际上应该把它放在哪里。
在某个调用它的类中Main,我想封装一组维度变量。
我知道我可以这样做:
struct Dimensions{
var w:Int
var h:Int
}
class Main
{
//do things using the structure
}
Run Code Online (Sandbox Code Playgroud)
但由于我有很多变量并且我希望它干净,所以我想创建一个新的 Swift 文件并将其放入其中
Dimensions所以在一个名为or else的文件中:
import Foundation
struct Dimensions{
var w:Int
var h:Int
}
Run Code Online (Sandbox Code Playgroud)
那么该结构对任何人都是可见的,甚至无需使用 Swift 文件名。
有几个问题要问:
Singeltone 与类之间共享数据有什么不同?(值类型?)Structs?那么该结构对任何人都是可见的
那不是真的。由于您的结构未标记public,因此只有模块中的代码可以访问它。即使您将其写入一个文件中,仍然可以在模块中的任何位置访问它。
甚至不使用 Swift 文件名。
你这么说的原因可能是因为在其他语言中,import如果你想使用另一个文件中的东西,你需要一个头文件或类似的东西(我不是“其他语言”的专家)。但 Swift 以模块为单位组织代码,而不是以文件为单位。
这似乎是个坏主意——为什么?
这不是一个坏主意。将不同类型放在不同的文件中是组织代码的好方法。当我去的时候,Car.swift我没想到会看到班级Game。
在类之间共享数据与 Singeltone 有什么不同?(值类型?)
在这里,您只是在不同的文件中写入内容。就编译器而言,这与将所有内容写入单个文件中没有太大区别,因为 Swift 在模块而不是文件中组织代码。单例模式是完全不同的东西。这是当您只有一个类型的一个共享实例时。
将结构放在 Main 类之外以获得一些清晰的代码的正确位置是什么?
在另一个文件中,因为Main实际上应该在它自己的文件中。
我应该制作一个包含许多不相关结构的文件吗?
不,这是一种糟糕的组织代码的方式。当您想查找特定结构时,如何知道它位于哪个文件中?
| 归档时间: |
|
| 查看次数: |
2013 次 |
| 最近记录: |