Swift - 如何声明私有嵌套结构?

Swift - How to declare a private nested struct?

我想让我的代码更具可读性,所以我决定制作一些重复的字典键,软编码...所以我创建了一个新的 .swift 文件,里面有 2 个结构:

struct DatabaseTableNames {
    let Photo = PhotoTable()
}

private struct PhotoTable {
    let lowQuality = "lowQuality"
    let highQuality = "highQuality"
    let numberOfLikes = "numberOfLikes"
}

所以我有我要使用的初始结构和第二个结构,我不希望它在文件范围之外可见...问题是,它说 Photo 属性 的 DatabaseTableNames 结构,需要声明为 fileprivate 因为 PhotoTableprivate...

我做错了什么?

关键是嵌套 PhotoTable 并使其属性静态化。

struct DatabaseTableNames {
    struct PhotoTable {
        static let lowQuality = "lowQuality"
        static let highQuality = "highQuality"
        static let numberOfLikes = "numberOfLikes"
    }
}

使用示例:

let test = DatabaseTableNames.PhotoTable.lowQuality
print(test)

交换您的 private 设置 - 并确保它与您要使用的 UIViewController 在同一文件中定义

private struct DatabaseTableNames {
    let Photo = PhotoTable()
}

struct PhotoTable {
    let lowQuality = "lowQuality"
    let highQuality = "highQuality"
    let numberOfLikes = "numberOfLikes"
}

然后,访问结构

private var photo : DatabaseTableNames?