Swift中不可本地化的字符串常量

Swift中不可本地化的字符串常量,swift,Swift,在Objective-C中,我将在.m文件中定义字符串常量,如下所示: #define kEventID @"id" #define kEventType @"eventType" #define kTimestamp @"timestamp" 例如,我使用这些字符串作为配置文件中的键名 在Swift中,我尝试过这样做: class Word: NSObject { private let kLanguageTag = "languageTag" private let kNa

在Objective-C中,我将在
.m
文件中定义字符串常量,如下所示:

#define kEventID @"id"
#define kEventType @"eventType"
#define kTimestamp @"timestamp"
例如,我使用这些字符串作为配置文件中的键名

在Swift中,我尝试过这样做:

class Word: NSObject {
    private let kLanguageTag = "languageTag"
    private let kName = "name"
    private let kDetail = "detail"
    private let kWordID = "wordID"
    private let kWordCode = "wordCode"

但我不确定这样做是否正确。完成这项任务的标准方法是什么?

实际上,我认为首选的Objective-C方法是NSString*const kEventID=@“id”;不管怎样,假设您希望它对Word类是私有的,那么Swift中的方式看起来不错。您也可以尝试私有静态,让kLanguageTag=“languageTag”这看起来不错,不过您也可以做其他各种有趣的事情,比如将结构或枚举嵌套到这些值的命名空间中,甚至扩展系统API,以便只允许使用特殊常量。实际上,我认为首选的Objective-C方法是NSString*const kEventID=@“id”;不管怎样,假设您希望它对Word类是私有的,那么Swift中的方式看起来不错。您也可以尝试私有静态,让kLanguageTag=“languageTag”这看起来不错,不过您也可以做其他各种有趣的事情,比如将结构或枚举嵌套到这些值的命名空间中,甚至扩展系统API,以便只允许使用特殊常量。看见