AppGroup ile Veri Paylaşımı
Sep 21 2020
SwiftUI ile oluşturulan Widget Uzantıma UIKit Dosyamdan bir değişkeni paylaşmak istiyorum. Bunu burada takip ettim. Lütfen J Arango'nun cevabına bakın.
Ama oradaki son kısmı anlamıyorum. Kullanmak zorundayım import MySharedObjects.
Ben de bunu yaptım:
import MySharedObject
struct testing {
let mySharedObject = MySharedObject(name: "My Name", lastName: "My Last Name")
do {
let data = try JSONEncoder().encode(mySharedObject)
/// Make sure to use your "App Group" container suite name when saving and retrieving the object from UserDefaults
let container = UserDefaults(suiteName:"group.com.widgetTest.widgetContainer")
container?.setValue(data, forKey: "sharedObject")
/// Used to let the widget extension to reload the timeline
WidgetCenter.shared.reloadAllTimelines()
} catch {
print("Unable to encode WidgetDay: \(error.localizedDescription)")
}
}
Ama aşağıdaki hataları alıyorum.
- Çağrıda 1., 2. pozisyonda ekstra argüman
- Çağrıda parametre için eksik bağımsız değişken
- şuradan ekle: <# Kod Çözücü #>
- Parçayı kullandığım yerde beklenen beyan
do.
Yanıtlar
2 pawello2222 Sep 21 2020 at 19:35
- Verileri
UserDefaultsana Uygulamanıza kaydedin:
UserDefaults(suiteName: <your_app_group>)!.set("test", forKey: "test")
UserDefaultsWidget'ınızdaki verileri okuyun :
let testStr = UserDefaults(suiteName: <your_app_group>)!.string(forKey: "test")
Diğer türleri kaydetmek istiyorsanız, bakınız:
- Swift'de UserDefaults'u nasıl kullanabilirim?
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Gene Simmons, KISS Çizgi Romanlarının Potansiyel Olarak "İnsanlığı Yeniden Yaratabileceğini" Söyledi
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'
Charly Reynolds Yakın Zamandaki Vokal Kord Ameliyatını Açıkladı: 'Şarkı Söylemekte Sorun Yaşıyordum'