Swift CoreData数据未显示在我的列表视图中
我对CoreData有一个问题…我已经设法让它工作,但它不会显示我的标题属性(即任务名称)。这方面我还不太熟悉,希望有人能帮我Swift CoreData数据未显示在我的列表视图中,swift,xcode,core-data,swiftui,Swift,Xcode,Core Data,Swiftui,我对CoreData有一个问题…我已经设法让它工作,但它不会显示我的标题属性(即任务名称)。这方面我还不太熟悉,希望有人能帮我 它看起来像是在您的CellView中没有关闭switch语句,这可能会导致您的文本仅在选中复选框时显示。(completionState为true)将包含标题的文本置于switch语句之外: HStack { switch completionState { case false: Image(systemName: "squa
它看起来像是在您的
CellView
中没有关闭switch语句,这可能会导致您的文本仅在选中复选框时显示。(completionState
为true)将包含标题的文本置于switch语句之外:
HStack {
switch completionState {
case false:
Image(systemName: "square")
case true:
Image(systemName: "checkmark.square")
.foregroundColor(.green)
}
Text(title)
.foregroundColor(.black)
}
//
// EditView.swift
// Infinito
//
// Created by Armando Visini on 28/10/2020.
//
import SwiftUI
struct EditView: View{
@Environment(\.managedObjectContext) var moc
@FetchRequest(entity: Task.entity(), sortDescriptors: []) var tasks: FetchedResults<Task>
@State var titleOfTask: String = ""
var body: some View {
NavigationView {
VStack(alignment: .leading){
Text("Title of task")
.font(.title)
.fontWeight(.bold)
HStack {
TextField("Enter name of task here...", text: $titleOfTask)
.textFieldStyle(RoundedBorderTextFieldStyle())
Button(action: {
let task = Task(context: self.moc)
task.id = UUID()
task.title = titleOfTask
task.completionState = false
try? self.moc.save()
UIApplication.shared.endEditing()
}) {
Text("Confirm")
.foregroundColor(.white)
.fontWeight(.medium)
.background(Color(.blue))
.cornerRadius(6.0)
}
}
}
.padding()
.offset(y: -200.0)
}
}
struct EditView_Previews: PreviewProvider {
static var previews: some View {
EditView()
}
}
}
extension UIApplication{
func endEditing() {
sendAction(#selector(UIResponder.resignFirstResponder), to: nil, from: nil, for: nil)
}
}
//
// EditView.swift
// Infinito
//
// Created by Armando Visini on 28/10/2020.
//
import SwiftUI
struct EditView: View{
@Environment(\.managedObjectContext) var moc
@FetchRequest(entity: Task.entity(), sortDescriptors: []) var tasks: FetchedResults<Task>
@State var titleOfTask: String = ""
var body: some View {
NavigationView {
VStack(alignment: .leading){
Text("Title of task")
.font(.title)
.fontWeight(.bold)
HStack {
TextField("Enter name of task here...", text: $titleOfTask)
.textFieldStyle(RoundedBorderTextFieldStyle())
Button(action: {
let task = Task(context: self.moc)
task.id = UUID()
task.title = titleOfTask
task.completionState = false
try? self.moc.save()
UIApplication.shared.endEditing()
}) {
Text("Confirm")
.foregroundColor(.white)
.fontWeight(.medium)
.background(Color(.blue))
.cornerRadius(6.0)
}
}
}
.padding()
.offset(y: -200.0)
}
}
struct EditView_Previews: PreviewProvider {
static var previews: some View {
EditView()
}
}
}
extension UIApplication{
func endEditing() {
sendAction(#selector(UIResponder.resignFirstResponder), to: nil, from: nil, for: nil)
}
}
HStack {
switch completionState {
case false:
Image(systemName: "square")
case true:
Image(systemName: "checkmark.square")
.foregroundColor(.green)
}
Text(title)
.foregroundColor(.black)
}