相关疑难解决方法(0)

在 iOS 14 的 SwiftUI 中的主应用程序和小部件之间共享数据

@main
struct ClockWidgetExt: Widget {
    private let kind: String = "ClockWidgetExt"
    
    public var body: some WidgetConfiguration {
        StaticConfiguration(kind: kind, provider: Provider(), placeholder: PlaceholderView()) { entry in
            HomeTestView()
        }
        .configurationDisplayName("My Widget")
        .description("This is an example widget.")
    }
}
Run Code Online (Sandbox Code Playgroud)

如何从我的主应用程序获取数据到小部件?

widget swift widgetkit swiftui ios14

14
推荐指数
1
解决办法
6349
查看次数

与 AppGroup 共享数据

我想将一个变量从我的 UIKit 文件共享到我用 SwiftUI 创建的小部件扩展。 我跟着这个here。请看看 J Arango 的回答。

但我不明白那里的最后一部分。我必须使用import MySharedObjects.

所以我这样做了:

    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 …
Run Code Online (Sandbox Code Playgroud)

swift widgetkit swiftui

2
推荐指数
1
解决办法
1073
查看次数

标签 统计

swift ×2

swiftui ×2

widgetkit ×2

ios14 ×1

widget ×1