I have created user defaults with names below,
let prefs1 = UserDefaults.init(suiteName: \"UserAccount\")
let prefs2 = UserDefaults.init(suiteName: \"UserInfo\")
You can try
UserDefaults.standard.removeSuite(named: "UserAccount")
If you want to just remove the keys. You can go for following
func removeAllFor(defaults: UserDefaults) {
let dictionary = defaults.dictionaryRepresentation()
dictionary.keys.forEach { key in
defaults.removeObject(forKey: key)
}
}
Then you can call it on default that you want to clear data for
removeAllFor(defaults: prefs1)
removeSuite(named:) : Removes a sub-searchlist added via -addSuiteNamed method
removePersistentDomain(forName: ) : Removes all values from the search list entry specified by ‘domainName’.