Bir kullanıcının oturum açtıktan sonra görüntüleyebileceği büyük miktarda mağazayı depolamak için zaten Core Data'yı kullandığım bir uygulama var. Şu anda uygulamanın oturum açma bölümünü uygulamıyorum ve Birçok ilgili soruyu inceledim. Çoğu, hassas olmayan kullanıcı verilerini depolamak için NSUserDefaults
kullanılmasını önermektedir. Ad, soyadı, e-posta, profil resmi ve belki de adres gibi şeyler depolamayı planlıyorum. Liste gelecekte büyüyebilir. Sorum şu ki, tek bir kullanıcı nesnesini saklamak için Temel Veri Modelimde bir Kullanıcı entity
oluşturmak için geçerli bir seçenek mi, yoksa kötü bir uygulama olacak ve ben sadece NSUserDefaults
ile yapmalı mıyım? Zaten her şeyi kurduğumdan ve uygulamaya daha fazla karmaşıklık katamayacağından, Çekirdek Verileri kullanmak için cazip geldim.Core Data vs NSUserDefaults kullanıcı verilerine giriş için
cevap
Son bir uygulama geliştirirken çok benzer bir durumdaydım. NSUserDefaults
'un, kullanıcı bilgilerinin saklanması için daha uygun bir çözüm olduğunu buldum, çünkü açık bir şekilde kullanılması gerekiyordu. Üzerinde Apple documentation belirtildiği gibi, 'NSUserDefaults sınıfı, varsayılan sistemle etkileşim için programatik bir arabirim sağlar. Varsayılan sistem, bir uygulamanın davranışını kullanıcının tercihleriyle eşleşmesi için özelleştirmesine izin verir. '
Deneyimlerimden, Core Data yerine kullanıcı bilgilerini depolamak için NSUserDefaults kullanmanın çok daha az kod içermesi anlamına geliyordu. Ayrıca, kullanıcı her zaman uygulamanızda oturum açtığında Çekirdek Veri deposuna erişmek zorunda kalmazsınız.
Referans olarak, NSUserDefaults'ı nerede kullanacağımı öğrendiğimde this ve this kullandım.
Her iki şeyi de yaptım, fakat benim için kullanıcıımı CoreData'da saklamak ve kullanıcı kimliğimi NSUserDefault
s'ye kaydetmek daha iyi bir çözümdü. Bunu yaptım çünkü sunucu yanıtını ayrıştırmak için hem Mantle hem de Overcoat kullanıyordum ve kullanıcım uygulamanın diğer kullanıcılarıyla tam olarak aynı yapıya sahipti.
İyi cevap burada. Devletler tüm doğru bilgileri - Sunucu tarafı erişimi ve yerel erişim –
Şu anda yalnızca bir kullanıcınız olmasını planlıyorsanız, NSUserDefault ile gideceğim. Uygulamalarımızdan birinde, aynı anda çalışan birden çok kullanıcı hesabını yönetme yeteneğine sahip olmamız gerekiyor. Her kullanıcı için UserId adını isim tanımlayıcısı olarak kullanan farklı bir db oluşturduk. Her kullanıcının için uygulamasının durumunu hatırlamamıza izin verin. Bu yüzden cevabın senaryoya bağlı olacağını düşünüyorum. Sadece değerli bilgileri kullanıcıDefault'a kaydetmeyi unutmayın. Belki de uygulama anahtarlığına kaydedilmişse, e-posta, kullanıcı adı vb. Gibi şeyler daha iyi olurdu. Anahtar sözcüğün kaydedilmesini ve alınmasını bir sözlüğe erişim kadar kolay hale getiren bazı bölmeler vardır.
İyi şanslar.
- 1. Core-Data CoreDataGeneratedAccessors vs. basit atama
- 2. NSUserDefaults vs NSCoding
- 3. NSUserDefaults
- 4. Core Data iPad/iPhone BLOBS vs 20k PDF'ler için dosya sistemi
- 5. NSUserDefaults
- 6. kullanıcı giriş
- 7. Swift - NSUserDefaults
- 8. Xamarin.iOS - NSUserDefaults
- 9. NSUserDefaults threadafe
- 10. Iphone için oldukça yeni NSuserdefaults
- 11. JSF Core Tag: setPropertyActionListener vs öznitelik vs param
- 12. NSUserDefaults düzgün
- 13. Modellerim şimdi Core Data kullanıyorum nasıl test edilir?
- 14. Xcode 4'te otomatik olarak bir Core Data GUI oluştururum?
- 15. Oyun geliştirmeye nereden başlayacaksınız? UIKit vs Core Animation vs QuartzCore vs OpenGL vs Cocos2D
- 16. Android - Kullanıcı giriş yapın
- 17. Kullanıcı tanımlama bilgisini yenileyin ASP.Net Core Identity
- 18. Kullanıcı 'postgres' hatası için giriş anahtarı yok
- 19. Kullanıcı Girdisini Django'da Oluşturmak İçin Giriş Yapıyor
- 20. NSMutableArray'ı NSUserDefaults
- 21. Web API için yerel kullanıcı hesabı deposu ASP.NET Core 2.0
- 22. NSUserDefaults güvenilmez?
- 23. iOS Swift - Karmaşık bir veri ilişkisi olan Core Data örnekleri
- 24. NSUserDefaults uygulaması
- 25. Android - Ham kapasitif giriş verilerine erişmek mümkün mü?
- 26. C++ programında Apple Magic Trackpad giriş verilerine erişme
- 27. iOS: Hassas kullanıcı bilgilerini [NSUserDefaults standardUserDefaults] içinde depolamak güvenli midir?
- 28. Kullanıcı giriş yıllarına dayanarak, kullanıcı girdisi
- 29. Giriş yaptıktan sonra kullanıcı girişi kullanıcı adı? (PHP/JavaScript/HTML)
- 30. angularjs verilerine
Sonunda NSUserDefaults kullandım, sağladığınız bağlantılar oldukça kullanışlıdır. Teşekkürler! – Georgi