为简单起见,假设我想创建一个简单的待办事项应用程序。我的 xcdatamodeld 中有一个实体 Todo,其属性为id、title和date,以及以下 swiftui 视图(如图所示):
import SwiftUI
struct ContentView: View {
@Environment(\.managedObjectContext) var moc
@State private var date = Date()
@FetchRequest(
entity: Todo.entity(),
sortDescriptors: [
NSSortDescriptor(keyPath: \Todo.date, ascending: true)
]
) var todos: FetchedResults<Todo>
var dateFormatter: DateFormatter {
let formatter = DateFormatter()
formatter.dateStyle = .short
return formatter
}
var body: some View {
VStack {
List {
ForEach(todos, id: \.self) { todo in
HStack {
Text(todo.title ?? "")
Text("\(todo.date ?? Date(), formatter: self.dateFormatter)") …Run Code Online (Sandbox Code Playgroud) 我在我的 iOS 应用程序中拥有的是:
TO DO ITEMS
To do item 3
24/03/2020
------------
To do item 2
24/03/2020
------------
To do item 1
23/03/2020
------------
Run Code Online (Sandbox Code Playgroud)
我想要的是:
TO DO ITEMS
24/03
To do item 3
24/03/2020
------------
To do item 2
24/03/2020
------------
23/03
To do item 1
23/03/2020
------------
Run Code Online (Sandbox Code Playgroud)
================
到目前为止我所拥有的:
我正在使用Core Data并且有1 个实体: Todo。模块:当前产品模块。Codegen:类定义。这个实体有2 个属性: title (String), date (Date)。
ContentView.swift 显示列表。
import SwiftUI
struct ContentView: View {
@Environment(\.managedObjectContext) var moc
@State private var date …Run Code Online (Sandbox Code Playgroud)