我想将我的 UIKit 文件中的一个变量共享到使用 SwiftUI 创建的 Widget 扩展中。 我在这里关注了这个。请看 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 的额外参数在调用中
- 调用中的参数缺少参数
- 插入自:<#Decoder#>
- 我使用该
do
部件的预期声明。