我希望能够将我UIKit文件中的一个变量分享到使用SwiftUI创建的小部件扩展中。
我遵循了这里的方法。 请查看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 encode WidgetDay: \(error.localizedDescription)")
}
}
但是我遇到了以下错误。
- 在调用中位置 #1,#2 处有多余参数。
- 从调用中缺少参数。
- 从<#解码器#>插入。
- 在使用
do
部分的地方预期声明。
UserDefaults
。那么为什么需要MySharedObjects
呢? - pawello2222