如何使用UserDefaults在Swift中保存/检索字符串,布尔值和其他数据?
@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)
如何从我的主应用程序获取数据到小部件?
我对 SwiftUI 和 Firebase 还是很陌生。最近,作为一种爱好,我一直在为我的学校开发一个应用程序。Xcode 12 发布后,我决定尝试使用 Widgets 等新功能。但是,由于我的应用从 Firebase 获取数据,因此我遇到了一些问题。我最近的问题是“线程 1:”无法获取 FirebaseApp 实例。请在使用 Firestore 之前调用 FirebaseApp.configure()”。我不完全确定将“FirebaseApp.configure()”放在哪里,因为小部件没有 AppDelegate.swift。我的代码如下。
编辑:我已经重新排列了我的代码,以便我现在可以从原始 iOS 应用程序数据模型中获取数据。因此,我不会在小部件 Swift 文件中导入 Firebase。但是,我仍然遇到相同的错误(“SendProcessControlEvent:toPid:遇到错误:Error Domain=com.apple.dt.deviceprocesscontrolservice Code=8”和“-> 0x7fff5bb6933a <+10>: jae 0x7fff5bb69344 ; <+20> -线程 1:“无法获取 FirebaseApp 实例。请在使用 Firestore 之前调用 FirebaseApp.configure()””)。我还包含了@Wendy Liga 的代码,但我仍然遇到相同的错误。我的新代码如下:
iOS 应用数据模型
import Foundation
import SwiftUI
import Firebase
import FirebaseFirestore
struct Assessment: Identifiable {
var id:String = UUID().uuidString
var Subject:String
var Class:Array<String>
var Day:Int
var Month:String
var Title:String
var Description:String
var Link:String
var Crit:Array<String>
}
class AssessmentsViewModel:ObservableObject {
@Published …
Run Code Online (Sandbox Code Playgroud) 希望这是一个简单的问题,但我想知道如何从 SwiftUI 小部件访问保存在 UIKit 应用程序中的 UserDefaults 数据?我需要在小部件中显示其中一些数据。
谢谢!