Xamarin.iOS'ta Kullanıcı Varsayılanlarıyla Çalışma
Bu makale, bir Xamarin.iOS Uygulaması veya Uzantısında varsayılan ayarları kaydetmek için NSUserDefault ile çalışmayı kapsar.
sınıfı, NSUserDefaults
iOS Uygulamaları ve Uzantıları'nın sistem genelindeki Defaults Sistemi ile programlı olarak etkileşim kurması için bir yol sağlar. Kullanıcı, VarsayılanLar Sistemi'ni kullanarak bir uygulamanın davranışını veya stillerini tercihlerini karşılayacak şekilde yapılandırabilir (uygulamanın tasarımına göre). Örneğin, Ölçüm ve emperyal ölçümlerinde veri sunmak veya belirli bir KULLANıCı Arabirimi Teması seçmek için.
Uygulama Grupları ile kullanıldığında, NSUserDefaults
belirli bir grup içindeki uygulamalar (veya Uzantılar) arasında iletişim kurmanın bir yolunu da sağlar.
Kullanıcı Varsayılanları Hakkında
Yukarıda belirtildiği gibi, Kullanıcı Varsayılanları (NSUserDefaults
) bir Uygulamaya (veya Uzantıya) eklenebilir ve son kullanıcının çalışma zamanında uygulamanın görünümünü veya çalışmasını ayarlamak için değiştirebileceği yapılandırılabilir seçenekler sağlamak için kullanılabilir.
Uygulamanız ilk kez yürütürken, NSUserDefaults
uygulamanın User Defaults Veritabanındaki anahtarları ve değerleri okur ve her değer gerektiğinde veritabanının açılmasını ve okunmasını önlemek için bunları belleğe önbelleğe alır.
Önemli
Apple artık geliştiricinin bellek içi önbelleği doğrudan veritabanıyla eşitlemek için yöntemini çağırmasını Synchronize
önermez. Bunun yerine, bellek içi önbelleği kullanıcının varsayılan veritabanıyla eşitlenmiş durumda tutmak için düzenli aralıklarla otomatik olarak çağrılır.
sınıfı, NSUserDefaults
dize, tamsayı, float, boole ve URL'ler gibi yaygın veri türleri için tercih değerlerini okumak ve yazmak için çeşitli kolaylık yöntemleri içerir. Diğer veri türleri kullanılarak NSData
arşivlenebilir, ardından Kullanıcı Varsayılanları Veritabanı'ndan okunabilir veya bu veritabanına yazılabilir. Daha fazla bilgi için lütfen Apple'ın Tercihleri ve Ayarlar Programlama Kılavuzu'na bakın.
Paylaşılan NSUserDefaults Örneğine Erişme
Paylaşılan Kullanıcı Varsayılanları Örneği, cihazın geçerli kullanıcısı için Kullanıcı Varsayılanları'na erişim sağlar. Paylaşılan Varsayılanlar nesnesi yoksa, ilk kez erişildiğinde oluşturulur ve aşağıdaki bilgilerle başlatılır:
NSArgumentDomain
Geçerli uygulamadan ayrıştırılan varsayılan değerlerden oluşan.- Uygulamanın Paket Tanımlayıcısı etki alanı.
NSGlobalDomain
Tüm uygulamalar tarafından paylaşılan varsayılan değerlerden oluşan.- Kullanıcının tercih ettiği dillerin her biri için ayrı bir etki alanı.
NSRegistrationDomain
Aramaların her zaman başarılı olduğundan emin olmak için uygulama tarafından değiştirilebilen geçici varsayılanlar kümesine sahip bir.
Paylaşılan Kullanıcı Varsayılanları Örneğine erişmek için aşağıdaki kodu kullanın:
// Get Shared User Defaults
var plist = NSUserDefaults.StandardUserDefaults;
Bir Uygulama Grubu NSUserDefaults Örneğine Erişme
Yukarıda belirtildiği gibi, Uygulama Grupları kullanılarak belirli NSUserDefaults
bir grup içindeki Uygulamalar (veya Uzantılar) arasında iletişim kurmak için kullanılabilir. İlk olarak, iOS Geliştirme Merkezi Sertifikalar, Tanımlayıcılar ve Profiller bölümünde Uygulama Grubu'nun ve gerekli Uygulama Kimliklerinin düzgün yapılandırıldığından ve geliştirme ortamına yüklendiğinden emin olmanız gerekir.
Ardından, Uygulama ve/veya Uzantı projelerinizin yukarıda oluşturulmuş geçerli Uygulama kimliklerinden birine sahip olması ve Entitlements.plist
dosyanın Uygulama Grupları etkin ve belirtilen Uygulama Paketi'ne eklenmesi gerekir.
Tüm bunlar gerçekleştiğinde, paylaşılan Uygulama Grubu Kullanıcı Varsayılanları'na aşağıdaki kod kullanılarak erişilebilir:
// Get App Group User Defaults
var plist = new NSUserDefaults ("group.com.xamarin.todaysharing", NSUserDefaultsType.SuiteName);
Buradagroup.com.xamarin.todaysharing
, erişmek istediğiniz Sertifikalar, Tanımlayıcılar ve Profiller'de oluşturulan Uygulama Grubu bulunur. Daha fazla bilgi için lütfen Uygulama Grubu Özellikleri belgelerine bakın.
Varsayılan Değerleri Okuma
İstenen Kullanıcı Varsayılan Veritabanına eriştikten sonra, Anahtar/Değer Çiftleri'ni ve okunan veri türüne bağlı olarak birkaç kolaylık yöntemini kullanarak varsayılan değerlerden değerleri okuyabilirsiniz:
ArrayForKey
- Verilen anahtar değeri için bir dizisiNSObjects
döndürür.BoolForKey
- Verilen anahtar için boole değeri döndürür.DataForKey
- Verilen anahtar için birNSData
nesne döndürür.DictionaryForKey
- Verilen anahtar için birNSDictionary
döndürür.DoubleForKey
- Verilen anahtar için bir çift değer döndürür.FloatForKey
- Verilen anahtar için bir float değeri döndürür.IntForKey
- Verilen anahtar için bir tamsayı değeri döndürür.StringArrayForKey
- Verilen anahtar değerindenString
bir nesne dizisi döndürür.StringForKey
- Verilen anahtar için bir dize değeri döndürür.URLForKey
- Verilen anahtar için birNSUrl
değer döndürür.
Örneğin, aşağıdaki kod Kullanıcı Varsayılanları'ndan bir boole değeri okur:
// Get Shared User Defaults
var plist = NSUserDefaults.StandardUserDefaults;
...
// Get value
var useHeader = plist.BoolForKey("UseHeader");
Varsayılan Değerler Yazılıyor
Yukarıdaki değerleri okumada olduğu gibi, istenen Kullanıcı Varsayılan Veritabanına eriştiktan sonra, anahtar/değer çiftlerini ve yazılan veri türüne bağlı olarak birkaç kolaylık yöntemini kullanarak varsayılan değerlere değer yazabilirsiniz:
SetBool
- Verilen boole değerini verilen anahtara yazar.SetDouble
- Verilen çift değeri verilen anahtara yazar.SetFloat
- Verilen float değerini verilen anahtara yazar.SetString
- Verilen dize değerini verilen anahtara yazar.SetURL
- Verilen URL (NSUrl
) değerini verilen anahtara yazar.
Örneğin, aşağıdaki kod Kullanıcı Varsayılanları'na bir boole değeri yazacak:
// Get Shared User Defaults
var plist = NSUserDefaults.StandardUserDefaults;
...
// Save value
plist.SetBool(useHeader, "UseHeader");
...
Önemli
Uygulamanız ilk kez yürütürken, NSUserDefaults
uygulamanın User Defaults Veritabanındaki anahtarları ve değerleri okur ve her değer gerektiğinde veritabanının açılmasını ve okunmasını önlemek için bunları belleğe önbelleğe alır.
Özet
Bu makalede sınıfı ve son kullanıcının Xamarin.iOS Uygulamanızı yapılandırmak için kullanabileceği bir dizi seçenek sağlamak için nasıl kullanılabileceğini ele NSUserDefaults
alınmıştır. Buna ek olarak, bir uzantı ile Üst Uygulaması arasında veya bir gruptaki uygulamalar arasında iletişim kurmak için Uygulama Grupları'nın kullanılması ele alınmıştır.