Aracılığıyla paylaş


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 NSDataarş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 dizisi NSObjects döndürür.
  • BoolForKey - Verilen anahtar için boole değeri döndürür.
  • DataForKey - Verilen anahtar için bir NSData nesne döndürür.
  • DictionaryForKey - Verilen anahtar için bir NSDictionary 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ğerinden String 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 bir NSUrl 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.