我正在尝试使用userdefualts来保存标签上显示的元组。现在我的代码使用userdefulats,如下所示。如果a,则输入a,然后输入a,3。标签显示a,2a,2,a,3。标签只是附加每个新条目。我需要userdefualt来覆盖刚刚保存的内容。所以它应该只显示a,2a,3。
@IBAction func submitText(_ sender: Any) {
if let domain = Bundle.main.bundleIdentifier {
UserDefaults.standard.removePersistentDomain(forName: domain)
}
llble.text = String(describing: result) + "\n"
UserDefaults.standard.set(llble.text, forKey: "name")
}
override func viewDidAppear(_ animated: Bool) {
let save : String? = UserDefaults.standard.object(forKey: "name") as? String
if let nameToDisplay = save {
llble.text = nameToDisplay
}
}
答案 0 :(得分:1)
library(stringr)
str_replace(df$my_factor, "(^[:digit:])","S\\1")
"TC02345" "TC02734" "TS3234" "S34566" "S79800"
斯威夫特3:
if let domain = Bundle.main.bundleIdentifier {
UserDefaults.standard.removePersistentDomain(forName: domain)
}
目标-C:
if let domain = NSBundle.mainBundle().bundleIdentifier {
NSUserDefaults.standardUserDefaults().removePersistentDomainForName(
domain)
}
调用此方法相当于初始化用户默认值对象,NSString *domain = [[NSBundle mainBundle] bundleIdentifier];
[[NSUserDefaults standardUserDefaults] removePersistentDomainForName: domain];
传递domainName,并在其每个键上调用init(suiteName:)
方法。
同样removeObject(forKey:)
是一种传统方法,不需要也不应该使用。
答案 1 :(得分:0)
您应该检查为用户默认提供字符串的结果变量的逻辑。
答案 2 :(得分:-1)
您可以在Swift中使用以下方法。这将删除并删除所有可能的用户默认值。
UserDefaults.standard.removePersistentDomain(forName: Bundle.main.bundleIdentifier!)
UserDefaults.standard.synchronize()