Uygulamamda anahtar/değer çiftlerini depolamak için NSUserDefaults kullanıyorum.NSUserDefaults güvenilmez?
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
let ud = NSUserDefaults.standardUserDefaults()
if !(ud.boolForKey("launched_before")) {
print("first_launch")
ud.setBool(true, forKey: "launched_before")
} else {
print("not_first_launch")
}
}
Ben uygulamayı başlatmak ilk kez, beklendiği gibi "first_launch", yazdırır ve çok beklendiği gibi ben uygulamayı başlatmak ikinci kez, "not_first_launch" yazdırır: Aşağıda örnek kod verilmiştir. Ancak, Xcode'daki Xcode'daki Stop and Run (Durdur ve Çalıştır) düğmesine basarak uygulamayı birkaç kez yeniden başlatmaya devam edersem (belki 4 ila 20 defa), boolForKey("launched_before")
yanlıştır, bu yanlıştır.
Cihazımda (iPhone 6, iOS 9.3.1) ve Xcode 7.3 üzerinde test yapıyorum.
Bana herkes yardım edebilir mi?
bu yardımcı olabilir! –
Ama ikinci kez beklendiği gibi çalışır, yani boolean ayarı başarılı demektir, doğru mu? – TangZijian
, bu NSUserDefault nasıl çalıştığını anlamanıza yardımcı olacaktır: http://www.accella.net/knowledgebase/nsuserdefaults-some-pretty-good-practices/ –