我在我的应用程序上创建了一个常量文件constants.swift,我使用struct来定义常量,如下所示
struct moments {
struct parameter {
static let email = "email"
static let me = "me"
static let fields = "fields"
static let params = "id, name, first_name, last_name, picture.type(large), email"
}
struct title {
static let timeLineTitle = "Moments"
static let settingsTitle = "Settings"
static let menuTitle = "Menu"
static let openCamera = "Say Cheese!!! "
static let openGallery = "Pick from Moments "
static let addAudio = "Record Audio "
static let addNote = "Write Note "
}
struct notification {
static let notificationIdentifier = "NotificationIdentifier"
}
struct entity{
static let image = "Image"
static let note = "Note"
static let Audio = "Audio"
}
struct menu {
static let home = "Home"
static let settings = "Settings"
static let logout = "Logout"
}
struct cell {
static let cellIdentifier = "timeLineCell"
static let imageCell = "imageCell"
}
}
答案 0 :(得分:2)
用于准备常量的Class和Singleton类不需要,直到你想要那些常量为私有 您可以直接在swift文件中创建常量,如下所示。
或使用Struct。
两者都是创建常量的有效方法。如果希望常量为private并且用于指定的类,请使用class和Singleton 这段代码在swift 2.3中,它是创建常量的一般想法!
答案 1 :(得分:2)
Class和singleton类旨在用于不同的目的。当我们谈论编写纯常数时,应该排除这些。左边的两个选项是struct和enum。其中enum通常在我们对相似类型的常量进行分组时使用。例如,我们可以在枚举中保留变量的可能状态。其他选项结构最适合您的情况以及我们处理纯常数的情况。
答案 2 :(得分:1)
当你要求枚举案的另一个答案时。您可以在任何swift文件中创建enum private / public 正如你在这里看到的,我创建了两个枚举。 1用于我的私人用途,1用于公共用途。
允许在所有课程中访问私人。只允许在它声明的类的内部访问它 现在我尝试访问其他类中的枚举,如下所示。你可以在这里查看,我可以访问publicEnum但不能访问privateEnum。
现在让我告诉你如何在你声明它的类上访问私人枚举
你可以在这里查看,在enum_privately类中,你可以访问这两个。现在基于上面的详细说明,你可以根据你的要求,在何时何地使用哪种方式来计算它。
答案 3 :(得分:1)
以下是使用与现有类型相关的常量的示例
extension Double
{
static var pi: Double
{
return 3.14159265358979323846264338327950288
}
}
print(Double.pi)
答案 4 :(得分:1)
对于具有特定值的常量(如字符串),Swift枚举的问题在于您经常需要与原始值进行转换。这就是为什么我喜欢像你一样使用结构。
一般来说,我认为使用struct
是一种好习惯,除非您因特殊原因需要class
,并且只是为了保持常量,使用class
没有任何优势。< / p>
将值放入单个字段的字段似乎是额外的工作,除非您有时需要具有不同的值,例如用于测试。