我的项目在主项目中有几个子项目。我只想删除一个子项目中的所有用户默认数据。我搜索并找到了用户默认值中的“套件”概念,但看起来该套件主要用于应用程序组。由于我不需要在应用程序组之间共享数据,所以我不知道“套件”是否是最好的方式。是否有其他好的方法来删除用户默认数据的一个子项目?
发布于 2019-02-07 06:46:40
您可以使用枚举来声明您的子项目的密钥,并通过caseiterable协议对其进行验证,在for循环中您可以删除它们。我已经添加了下面的例子
var unqKey = "some unique ID" //EDIT
enum SubProjectKeys : String,CaseIterable{
case key1
case key2
case key3
case key4
var uniqueKey : String { //EDIT
return unqKey + self.rawValue
}
}
func removeKeysForSubProject() {
let userDefaultsObj = UserDefaults()
for key in SubProjectKeys.allCases {
userDefaultsObj.removeObject(forKey: key.uniqueKey) //EDIT
userDefaultsObj.synchronize()
}
}https://stackoverflow.com/questions/54566469
复制相似问题