在Apple的NSUbiquitousKeyValueStore
类中有一个NSUbiquitousKeyValueStoreChangeReasonKey
,它是userInfo通知的字符串查找键。其可能的值是
var NSUbiquitousKeyValueStoreServerChange: Int { get }
var NSUbiquitousKeyValueStoreInitialSyncChange: Int { get }
var NSUbiquitousKeyValueStoreQuotaViolationChange: Int { get }
var NSUbiquitousKeyValueStoreAccountChange: Int { get }
我更喜欢使用Swift的详尽开关检查,以及一般的样式整合。必须有一个非常明显的原因或设计范例,为什么将这些常量放在Enum
中是个坏主意还是不可能?
也许是因为这些值是在NSDictionary
内使用的,并且使用常量强制用户从NSDictionary
向下转换NSObject,并且通常使用类型结构/基元/枚举在这种情况下会产生误导?