【发布时间】:2019-12-14 13:34:20
【问题描述】:
我有一张显示我的应用指南的工作表。 工作表由本地布尔显示指南呈现。 我希望本地 bool 使用 bool showGuide 在我的设置实体中镜像 Core Data 中的 bool
我通常知道如何保存和检索 bool 的状态,但在应用启动时检索核心数据中的 bool 是我遇到的问题。
当用户点击“知道了!”按钮时我希望指南不再显示。 (也许我可以在设置视图中设置一个按钮,如果他们需要复习,可以再次激活它)
我尝试使用测试视图的自定义初始化程序来尝试检索 settings.showGuide 但没有运气。
我也知道设置是一个数组,所以我必须始终保存并检索到设置数组中的第一项。有没有更简单的方法来做到这一点?保存一个实体而不是数组?
有什么想法吗?
import Foundation
import SwiftUI
import CoreData
struct Test: View {
@Environment(\.managedObjectContext) var managedObjectContext
@FetchRequest(fetchRequest: Settings.getSettings()) var settings:FetchedResults<Settings>
@State private var showingGuide = true
var body: some View{
VStack{
Text("Hello")
}
.sheet(isPresented: $showingGuide) {
MainGuide().padding(.horizontal)
Button(action: {
let settings = Settings(context: self.managedObjectContext)
settings.showGuide = false
self.showingGuide = false
do {
try self.managedObjectContext.save()
}catch{
print(error)
}
}){
Text("Got it!")
}.padding()
}
}
}
【问题讨论】:
标签: swiftui