Каждый раз, когда я запускаю приложение, а затем повторно запускаю его, он сохраняет те же элементы в NSUserDefaults
, даже если он уже существует.Дублирование элементов уже в массиве
Я попытался исправить это с помощью кода contains
, но он не сработал.
Что мне не хватает?
for days in results! {
let nD = DayClass()
nD.dayOfTheWeek = days[“D”] as! String
let defaults = NSUserDefaults.standardUserDefaults()
if var existingArr = defaults.arrayForKey("D") as? [String] {
if existingArr.contains(days["D"] as! String) == false {
existingArr.append(nd.dayOfTheWeek)
}
} else {
defaults.setObject([nD.dayOfTheWeek], forKey: "D")
}
}
Можете ли вы дать дополнительную информацию о том, что вы пытаетесь сделать с массивом. – Cing
Victor, вы не должны использовать defaults.synchronize(). «Так что да, длинный рассказ, не используйте синхронизацию в iOS 8 и более поздних версиях». -http: //www.codingexplorer.com/nsuserdefaults-a-swift-introduction/ Также вы должны попробовать только определить значения по умолчанию (пусть defaults = ...) один раз, в верхней части вашего проекта. – owlswipe
@JohnRamos ok спасибо! Я изменил это, и он все еще делает то же самое. Но, возможно, вы больше смотрели на советы по форматированию и т. Д., Которые благодарят. – victorpulak