簡単な質問だといいのですが、UIKitアプリに保存されているUserDefaultsデータにSwiftUIウィジェットからどのようにアクセスするのでしょうか。このデータの一部をウィジェットに表示する必要があります。
ありがとう!
AppGroupUserDefaults(suiteName:)
とUserDefaults.standard
一緒にではなく使用する必要があります。UserDefaults.standard
それが含まれているアプリでのみアクセス可能であり、あなたが作成する可能性のある拡張機能や他のアプリでは利用できません。これが、AppGroupを使用する必要がある理由です。
AppGroupを作成したら([署名と機能]セクションでこれを行うことができます)suiteName
、次のようなものが必要です。
group.com.my.app.identifier
次に、アプリのUIKit部分で、AppGroupのUserDefaultsに次の方法で値を設定できます。
if let userDefaults = UserDefaults(suiteName: "group.com.my.app.identifier") {
userDefaults.setValue("value to save", forKey: "Key")
}
そしてそれらを読み返して使用することができます:
if let userDefaults = UserDefaults(suiteName: "group.com.my.app.identifier") {
let value = userDefaults.string(forKey: "Key")
}
ウィジェットはSwiftUIで記述されるため、プロパティラッパー@AppStorage
を使用して値にアクセスできます。
@AppStorage("Key", store: UserDefaults(suiteName: "group.com.my.app.identifier"))
var value: String = ""
使用したい値をすでに保存している場合は、UserDefaults.standard
それらをにコピーする必要がありますUserDefaults(suitName:)
。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加