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
因为 PhotoTable
是 private
...
我做错了什么?
关键是嵌套 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?
我想让我的代码更具可读性,所以我决定制作一些重复的字典键,软编码...所以我创建了一个新的 .swift
文件,里面有 2 个结构:
struct DatabaseTableNames {
let Photo = PhotoTable()
}
private struct PhotoTable {
let lowQuality = "lowQuality"
let highQuality = "highQuality"
let numberOfLikes = "numberOfLikes"
}
所以我有我要使用的初始结构和第二个结构,我不希望它在文件范围之外可见...问题是,它说 Photo
属性 的 DatabaseTableNames
结构,需要声明为 fileprivate
因为 PhotoTable
是 private
...
我做错了什么?
关键是嵌套 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?