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

Sot*_*ras 2 struct nested private swift

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

struct DatabaseTableNames {
    let Photo = PhotoTable()
}

private struct PhotoTable {
    let lowQuality = "lowQuality"
    let highQuality = "highQuality"
    let numberOfLikes = "numberOfLikes"
}
Run Code Online (Sandbox Code Playgroud)

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

我在这做错了什么?

Mob*_*Dan 7

关键是嵌套PhotoTable并使其属性保持静态.

struct DatabaseTableNames {
    struct PhotoTable {
        static let lowQuality = "lowQuality"
        static let highQuality = "highQuality"
        static let numberOfLikes = "numberOfLikes"
    }
}
Run Code Online (Sandbox Code Playgroud)

示例使用:

let test = DatabaseTableNames.PhotoTable.lowQuality
print(test)
Run Code Online (Sandbox Code Playgroud)