Core data 线程1:“;NSFetchedResultsController的实例需要具有排序描述符“的获取请求”;
我正在创建一个简单的核心数据应用程序,代码上没有错误,但在预览中运行或在物理设备上运行时,它会在启动时崩溃。日志是 CrashonLaunchorr:AppName应用程序在启动时崩溃 应用程序“AppName”在更新预览时崩溃。有关更多详细信息,请在~/Library/logs/DiagnosticReports中查找崩溃日志 在物理设备上运行时,在类定义的AppDelegate中 xcode抛出线程1:“NSFetchedResultsController的实例需要具有排序描述符的获取请求” 错误域=FBSOPenapplicationService错误域代码=1“请求 打开“com.company.AppName”失败 UserInfo={BSErrorCodeDescription=RequestDenied, NSLocalizedDescription=打开“com.company.AppName”的请求 失败,NSUnderlyingError=0x7f89753f7aa0{错误域=SketchBoard 代码=1“应用程序未能启动” UserInfo={NSLocalizedDescription=应用程序未能启动, NSLocalizedFailureReason=无法完成该操作。 事务失败。子事务失败: (孩子 事务),NSUnderlyingError=0x7f8975356fd0{Error 域=BSTransactionErrorCode=1“事务失败。子项 事务失败:(子事务) UserInfo={NSLocalizedFailureReason=事务失败。子级 事务失败:(子事务),沉淀错误=错误 域=BSTransactionErrorCode=1“事务失败。子项 事务失败:(子项) 事务)“UserInfo={NSLocalizedFailureReason=事务失败。 子事务失败: (子事务),沉淀错误=错误 Domain=BSTransactionError Code=1“事务失败。场景更新 失败(场景更新失败)” UserInfo={NSLocalizedFailureReason=事务失败。场景更新 失败(场景更新失败),错误原因=场景更新失败, 错误描述=场景更新失败, 事务=}, 错误原因=子事务,错误描述=子事务 失败:, 事务=}, 错误原因=子事务,错误描述=子事务 失败:, 事务=}}}, FBSOpenApplicationRequestID=0xddf3,NSLocalizedFailureReason= 请求被服务代理拒绝 (SketchBoard.SketchBoardSystemService)。} 重新启动计算机和XCODE后,会显示另一个错误 AppLaunchTimeoutError:无法启动应用程序“PreviewGetBundle”(标识符:“com.company.AppName”),url:file:///Users/UserName/Library/Developer/Xcode/DerivedData/AppName%3F-fnttuytzfpshkcdpkeevdewzrypc/Build/Intermediates.noindex/Previews/AppName%3F/Products/Debug iphonesimulator/AppName%3F.app,可执行子路径:“AppName”“,版本:AnyHashable(9781),签名信息:可选(UVPreviewPipeline.CodeSigningInformation(标识符:可选(“com.company.AppName”),标识:nil,hasgetaskallow:false,isSandboxed:false))”,在合理的时间内” 应用程序“PreviewAgentBundle”(标识符:“com.company.AppName”),url:file:///Users/UserName/Library/Developer/Xcode/DerivedData/AppName%3F-fnttuytzfpshkcdpkeevdewzrypc/Build/Intermediates.noindex/Previews/Appname%3F/Products/Debug iphonesimulator/Appname%3F.app,可执行子路径:“Appname”,版本:AnyHashable(9781),签名信息:可选(UVPreviewPipeline.CodeSigningInformation(标识符:可选(“com.company.AppName”)、标识:nil、Hasgetaskallow:false、isSandboxed:false)))在15秒内未在“iPhone 11 Pro Max”上启动 捆绑包标识符:com.company.AppName 设备UDID:UUID 请求UUID:UUID 屏幕ID:0 我有3页 内容视图Core data 线程1:“;NSFetchedResultsController的实例需要具有排序描述符“的获取请求”;,core-data,swiftui,Core Data,Swiftui,我正在创建一个简单的核心数据应用程序,代码上没有错误,但在预览中运行或在物理设备上运行时,它会在启动时崩溃。日志是 CrashonLaunchorr:AppName应用程序在启动时崩溃 应用程序“AppName”在更新预览时崩溃。有关更多详细信息,请在~/Library/logs/DiagnosticReports中查找崩溃日志 在物理设备上运行时,在类定义的AppDelegate中 xcode抛出线程1:“NSFetchedResultsController的实例需要具有排序描述符的获取请求”
import SwiftUI
struct ContentView: View {
@Environment(\.managedObjectContext) var managedObjectContext
@FetchRequest(fetchRequest: PostCodeCore.getPostcode()) var postCodes:FetchedResults<PostCodeCore>
@State private var enteredPostcode = ""
var body: some View {
NavigationView {
Button(action: {
TextField("Postcode", text: self.$enteredPostcode)
let postCodeCore = PostCodeCore(context: self.managedObjectContext)
postCodeCore.postcodeObject = self.enteredPostcode
do {
try self.managedObjectContext.save()
}catch{
print(error)
}
self.enteredPostcode = ""
}) {
Text("Proceed")
}
ForEach(self.postCodes) {PostCodeCore in
PostCodeView(postcode: PostCodeCore.postcodeObject!)
}
}.navigationBarTitle("Hello")
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
和邮政编码
import Foundation
import CoreData
public class PostCodeCore:NSManagedObject, Identifiable {
@NSManaged public var postcodeObject:String?
}
extension PostCodeCore {
static func getPostcode() -> NSFetchRequest<PostCodeCore> {
let request:NSFetchRequest<PostCodeCore> = PostCodeCore.fetchRequest() as! NSFetchRequest<PostCodeCore>
return request
}
}
<代码>导入基础
导入CoreData
公共类邮政编码核心:NSManagedObject,可识别{
@NSManaged public var Postcode对象:字符串?
}
扩展后代码{
静态func getPostcode()->NSFetchRequest{
让请求:NSFetchRequest=PostCodeCore.fetchRequest()作为!NSFetchRequest
退货申请
}
}
我的XCDataModel看起来像这样
任何帮助都将不胜感激,
谢谢相关:谢谢,我不认为我需要,因为没有数据将被排序,只有1个值被存储重复相关:谢谢,我不认为我需要,因为没有数据将被排序,只有1个值被存储重复相关:谢谢,我不认为我需要,因为没有数据将被排序,只有1个值被存储重复
import Foundation
import CoreData
public class PostCodeCore:NSManagedObject, Identifiable {
@NSManaged public var postcodeObject:String?
}
extension PostCodeCore {
static func getPostcode() -> NSFetchRequest<PostCodeCore> {
let request:NSFetchRequest<PostCodeCore> = PostCodeCore.fetchRequest() as! NSFetchRequest<PostCodeCore>
return request
}
}