silindikten sonra saklı tercihleri almaya devam ediyor NSUserDefaults kullanılırken Xcode 5 üzerinde bir osx uygulaması programlama konusunda sorun yaşıyorum. Genellikle, bir kullanıcı tercihini hatırlamak için [[NSUserDefaults standardUserDefaults] setObject:@"This is an object" forKey:@"Test"]
kullanıyoruz. Bundan sonra, uygulama ~/Library/Preferences/application.bundle.identifier.plist bir plist dosyası üretecektir.Xcode 5.0 NSUserdefaults, plist
Sorun, plist dosyasını sildikten sonra, uygulama hala sakladığım tercihleri alabilir. Projeyi temizlemeye, xcode'u yeniden başlatmaya, türetilmiş klasördeki dosyaları silmeye çalışsa bile bu plânı temizlemenin bir yolu yoktur. Bu sorunu çözmemin tek yolu sistemi yeniden başlatmaktır, bu yüzden bellekte kayıtlı bir şey olduğunu tahmin ediyorum. Soru şu saklı tercihleri nasıl temizleyebilirim? (Hata ayıklama ve sınamada el ile kod ekleyerek tercihleri temizlemenin uygun olmadığını düşünüyorum.) Ve Xcode 4.x'in önceki sürümünü denedim, böyle bir sorun yok. "ApplicationDidFinishLaunching" altında
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:@"This is an object." forKey:@"Test"];
NSLog(@"%@", [defaults objectForKey:@"Test"]);
: Herkes sadece yeni bir kakao projesi oluşturmak ve benzeri kodu ekleyebilirsiniz ilgi vardır. Sonra gidin ve ~/Library/Preferences/application.bundle.identifier.plist
'u silin. Bundan sonra, kodunuza [defaults setObject:@"This is an object." forKey:@"Test"];
satırını yorumlayın ve uygulamayı tekrar çalıştırın. Konsol hala "This is an object."
gösterecektir Benim ortamım Mavericks GM ve Xcode 5.0 (5a1413).
Umarım bu sadece benim başıma bir şey değildir ve herhangi bir yardımı takdir eder!
Hangi SDK'lara karşı bağlantı kuruyorsunuz? Silme işleminden sonra tercihlere hemen erişmeye çalışıyorsanız ve silinen verileri alırsanız, verilerin önbelleğe alınması mümkündür. – SevenBits
olası bir kopyası var [Nerede NSUserDefaults Mac OS X'de veri depolar?] (Http://stackoverflow.com/questions/19234665/where-does-nsuserdefaults-store-data-on-mac-os-x) –