我正在尝试通过构建作业管理应用程序来自学 Core Data。我的代码构建良好,应用程序运行正常,直到我尝试向列表添加新分配。我得到这个错误Thread 1: EXC_BREAKPOINT (code=1, subcode=0x1c25719e8)以下行:ForEach(courses, id: \.self) { course in。控制台也有这个错误:Context in environment is not connected to a persistent store coordinator: <NSManagedObjectContext: 0x2823cb3a0>。
我对 Core Data 知之甚少,不知道可能是什么问题。我在数据模型中设置了“作业”和“课程”实体,其中课程与作业具有一对多关系。每个作业将被归类到特定的课程下。
这是向列表添加新分配的视图的代码:
struct NewAssignmentView: View {
@Environment(\.presentationMode) var presentationMode
@Environment(\.managedObjectContext) var moc
@FetchRequest(entity: Course.entity(), sortDescriptors: []) var courses: FetchedResults<Course>
@State var name = ""
@State var hasDueDate = false
@State var dueDate = Date()
@State var course = Course()
var body: some View {
NavigationView {
Form …Run Code Online (Sandbox Code Playgroud) I am trying to have a picker list all of a type, called Course and then let the user select the appropriate course when adding a new Assignment to the managed object context. The picker selection binding (courseIndex) isn't updated when the user taps a row in the picker view. I'm not entirely sure how to fix the issue, nor do I know what is causing it. Any help is appreciated!
Here is the affected code:
struct NewAssignmentView: …Run Code Online (Sandbox Code Playgroud) 我使用 SwiftUI 和导航视图创建了一个主从应用程序,但导航栏未正确显示在详细信息视图上。在 iPhone X 和更新的设备上,它不会填满屏幕的顶部(时间和状态图标所在的位置)。我使用主从模板在 Xcode 中创建了一个新项目,该应用程序渲染得很好。我已将我的应用程序与模板进行了比较,老实说我找不到任何不合适的地方,所以欢迎提出任何建议!
这是我的应用程序的屏幕截图。请注意,导航栏没有填满屏幕顶部:
这是模板应用程序的屏幕截图,它按应有的方式显示栏:
这是主视图的代码:
struct ListView: View {
@State var showNewAssignmentModal = false
@Environment(\.managedObjectContext) var context
@FetchRequest(entity: Assignment.entity(), sortDescriptors: [NSSortDescriptor(keyPath: \Assignment.dueDate, ascending: true), NSSortDescriptor(keyPath: \Assignment.name, ascending: true)]) var assignments: FetchedResults<Assignment>
var body: some View {
NavigationView {
List(assignments, id: \.self) { assignment in
AssignmentRow(assignment: assignment).environment(\.managedObjectContext, self.context)
}
.navigationBarTitle(Text("Lists"))
.navigationBarItems(
leading: EditButton(),
trailing: Button(
action: {
self.showNewAssignmentModal = true
}
) {
Image(systemName: "plus").imageScale(.large)
} .sheet(isPresented: $showNewAssignmentModal) {
NewAssignmentView().environment(\.managedObjectContext, self.context)
}
)
}
} …Run Code Online (Sandbox Code Playgroud) 今年我自学了编程,终于开始通过 TestFlight 与一些朋友分享我的应用程序。我的一位朋友无法在应用程序崩溃的情况下点击应用程序中的任何内容,但我似乎无法在模拟器中复制该问题。这是崩溃日志:
Incident Identifier: 9C5CBC92-D799-4EF7-A0BD-B3D38BDFCD6A
Beta Identifier: 14981E01-C6E4-4340-A6C2-2C7730C5F39F
Hardware Model: iPhone9,3
Process: Skool [849]
Path: /private/var/containers/Bundle/Application/CD824E3B-BB88-47D1-912E-55156C40187E/Skool.app/Skool
Identifier: com.kevinolmats.Skool
Version: 2777 (0.2.2)
AppStoreTools: 11E503a
AppVariant: 1:iPhone9,3:13
Beta: YES
Code Type: ARM-64 (Native)
Role: Foreground
Parent Process: launchd [1]
Coalition: com.kevinolmats.Skool [677]
Date/Time: 2020-05-09 10:19:43.2873 -0600
Launch Time: 2020-05-09 10:19:41.3463 -0600
OS Version: iPhone OS 13.4.1 (17E262)
Release Type: User
Baseband Version: 4.02.02
Report Version: 104
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x00000001becb85e0
Termination Signal: Trace/BPT trap: 5
Termination Reason: …Run Code Online (Sandbox Code Playgroud)