Xcode 核心数据:bundle.main.url意外(突然)返回NIL

Xcode 核心数据:bundle.main.url意外(突然)返回NIL,xcode,cocoa,nsuserdefaults,Xcode,Cocoa,Nsuserdefaults,由于某种原因,默认的核心数据代码正在抛出错误。这是在我尝试迁移到数据模型的新版本后开始发生的,所以我确信我做了一些事情来搞砸这件事。以下是相关代码: enter colazy var managedObjectModel: NSManagedObjectModel = { // The managed object model for the application. This property is not optional. It is a fatal error for the a

由于某种原因,默认的核心数据代码正在抛出错误。这是在我尝试迁移到数据模型的新版本后开始发生的,所以我确信我做了一些事情来搞砸这件事。以下是相关代码:

enter colazy var managedObjectModel: NSManagedObjectModel = {
    // The managed object model for the application. This property is not optional. It is a fatal error for the application not to be able to find and load its model.
    let modelURL = Bundle.main.url(forResource: "Band_Manager_2_0", withExtension: "momd")!
    return NSManagedObjectModel(contentsOf: modelURL)!
}()
引发错误的行是:

enter let modelURL = Bundle.main.url(forResource: "Band_Manager_2_0", withExtension: "momd")!code here
下面是错误:

    fatal error: unexpectedly found nil while unwrapping an Optional value
2017-04-21 14:17:01.620046-0400 Band Manager 2.0[5826:164435] fatal error: unexpectedly found nil while unwrapping an Optional value
Current stack trace:
0    libswiftCore.dylib                 0x0000000100425160 swift_reportError + 129
1    libswiftCore.dylib                 0x0000000100441b80 _swift_stdlib_reportFatalError + 60
2    libswiftCore.dylib                 0x0000000100231a00 specialized specialized StaticString.withUTF8Buffer<A> ((UnsafeBufferPointer<UInt8>) -> A) -> A + 342
3    libswiftCore.dylib                 0x00000001003acec0 partial apply for (_fatalErrorMessage(StaticString, StaticString, file : StaticString, line : UInt, flags : UInt32) -> Never).(closure #2) + 109
4    libswiftCore.dylib                 0x0000000100231a00 specialized specialized StaticString.withUTF8Buffer<A> ((UnsafeBufferPointer<UInt8>) -> A) -> A + 342
5    libswiftCore.dylib                 0x000000010035f4a0 specialized _fatalErrorMessage(StaticString, StaticString, file : StaticString, line : UInt, flags : UInt32) -> Never + 96
6    Band Manager 2.0                   0x000000010005f500 AppDelegate.(managedObjectModel.getter).(closure #1) + 463
7    Band Manager 2.0                   0x000000010005d8d0 AppDelegate.managedObjectModel.getter + 194
8    Band Manager 2.0                   0x000000010005f880 AppDelegate.(persistentStoreCoordinator.getter).(closure #1) + 1115
9    Band Manager 2.0                   0x000000010005dad0 AppDelegate.persistentStoreCoordinator.getter + 211
10   Band Manager 2.0                   0x0000000100061020 AppDelegate.(managedObjectContext.getter).(closure #1) + 35
11   Band Manager 2.0                   0x000000010005dce0 AppDelegate.managedObjectContext.getter + 211
12   Band Manager 2.0                   0x000000010005a0d0 AppDelegate.applicationDidFinishLaunching(Notification) -> () + 51
13   Band Manager 2.0                   0x000000010005d530 @objc AppDelegate.applicationDidFinishLaunching(Notification) -> () + 71
14   CoreFoundation                     0x00007fff85d1c520 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12
15   CoreFoundation                     0x00007fff85d1c280 _CFXRegistrationPost + 427
16   CoreFoundation                     0x00007fff85d1c160 ___CFXNotificationPost_block_invoke + 50
17   CoreFoundation                     0x00007fff85cd9f90 -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 2018
18   CoreFoundation                     0x00007fff85cd94c0 _CFXNotificationPost + 667
19   Foundation                         0x00007fff8771a955 -[NSNotificationCenter postNotificationName:object:userInfo:] + 66
20   AppKit                             0x00007fff839439f6 -[NSApplication _postDidFinishNotification] + 297
21   AppKit                             0x00007fff839437b4 -[NSApplication _sendFinishLaunchingNotification] + 208
22   AppKit                             0x00007fff838069c1 -[NSApplication(NSAppleEventHandling) _handleAEOpenEvent:] + 552
23   AppKit                             0x00007fff838065a6 -[NSApplication(NSAppleEventHandling) _handleCoreEvent:withReplyEvent:] + 661
24   Foundation                         0x00007fff87765cfb -[NSAppleEventManager dispatchRawAppleEvent:withRawReply:handlerRefCon:] + 290
25   Foundation                         0x00007fff87765c31 _NSAppleEventManagerGenericHandler + 102
26   AE                                 0x00007fff86b6ad06 aeDispatchAppleEvent(AEDesc const*, AEDesc*, unsigned int, unsigned char*) + 544
27   AE                                 0x00007fff86b6ac76 dispatchEventAndSendReply(AEDesc const*, AEDesc*) + 39
28   AE                                 0x00007fff86b6aa71 aeProcessAppleEvent + 312
29   HIToolbox                          0x00007fff85277da8 AEProcessAppleEvent + 55
30   AppKit                             0x00007fff838019c4 _DPSNextEvent + 1833
31   AppKit                             0x00007fff83f7cd72 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 2796
32   AppKit                             0x00007fff837f640d -[NSApplication run] + 926
33   AppKit                             0x00007fff837c0d09 NSApplicationMain + 1237
34   Band Manager 2.0                   0x00000001000613d0 main + 13
35   libdyld.dylib                      0x00007fff9b8ad234 start + 1
(lldb)
致命错误:在展开可选值时意外发现nil
2017-04-21 14:17:01.620046-0400波段管理器2.0[5826:164435]致命错误:在展开可选值时意外发现零
当前堆栈跟踪:
0 libswiftCore.dylib 0x0000000100425160 swift_报告错误+129
1 libswiftCore.dylib 0x0000000100441b80 _swift_stdlib_reportFatalError+60
2 libswiftCore.dylib 0x0000000100231a00专用静态字符串.withUTF8Buffer((UnsafeBufferPointer)->A)->A+342
3 libswiftCore.dylib 0x00000001003acec0部分申请(_fatalErrorMessage(StaticString,StaticString,file:StaticString,line:UInt,flags:UInt32)->从不)。(闭包#2)+109
4 libswiftCore.dylib 0x0000000100231a00专用静态字符串.withUTF8Buffer((UnsafeBufferPointer)->A)->A+342
5 libswiftCore.dylib 0x000000010035f4a0专用\u fatalErrorMessage(StaticString,StaticString,文件:StaticString,行:UInt,标志:UInt32)->从不+96
6 Band Manager 2.0 0x000000010005f500 AppDelegate.(managedObjectModel.getter)。(闭包#1)+463
7波段管理器2.0 0x000000010005d8d0 AppDelegate.managedObjectModel.getter+194
8 Band Manager 2.0 0x000000010005f880 AppDelegate.(persistentStoreCoordinator.getter)。(闭包#1)+1115
9频带管理器2.0 0x000000010005dad0 AppDelegate.persistentStoreCoordinator.getter+211
10 Band Manager 2.0 0x0000000100061020 AppDelegate.(managedObjectContext.getter)。(闭包#1)+35
11频带管理器2.0 0x000000010005dce0 AppDelegate.managedObjectContext.getter+211
12频带管理器2.0 0x000000010005a0d0 AppDelegate.ApplicationIDFinishLaunching(通知)->()+51
13频带管理器2.0 0x000000010005d530@objc AppDelegate.ApplicationIDFinishLaunching(通知)->()+71
14 CoreFoundation 0x00007fff85d1c520通知中心正在向观察员发出通知
15 CoreFoundation 0x00007fff85d1c280 _CFXRegistrationPost+427
16 CoreFoundation 0x00007fff85d1c160\uuuuuuuuuuxNotificationPost\u block\u invoke+50
17 CoreFoundation 0x00007fff85cd9f90-[\u cfxNotificationRegistrator查找:对象:观察者:枚举器:][2018
18芯基金会0x00007fff85cd94c0_CFXNotificationPost+667
19基金会0x000 7FFF877 1A955 - [ NSnPosiCICTICStestPoNoTestCurryNoTe:对象:USER信息:] + 66
20应用套件0x00007fff839439f6-[NSApplication\u postDidFinishNotification]+297
21 AppKit 0x00007fff839437b4-[n应用程序发送完成启动通知]+208
22应用套件0x00007fff838069c1-[NSAPPLEEVENTHANDING(NSAPPLEEVENTHANDING)\U HANDLEEOPENEVENT:+552
23应用套件0x00007fff838065a6-[NSAPPLEEVENTHANDING(NSAPPLEEVENTHANDING)\u handleCoreEvent:with replyEvent:+661
24基金会0x000 7FFF877 65 CFB-[ NSAPPIENEngEngestDeppsRaWaPrApEngult:WrrWeReff:HoalLeReFCON::] + 290
25基金会0x000、7FFF877、C31、NSpApple EngEngEngEngEngEngtRANDER + 102
26 AE 0x00007fff86b6ad06 AEDISPATCH应用程序事件(AEDesc常量*、AEDesc*、无符号整数、无符号字符*)+544
27 AE 0x00007fff86b6ac76调度事件和发送回复(AEDesc常量*,AEDesc*)+39
28 AE 0x00007fff86b6aa71 AEProcessAppleeEvent+312
29 HIToolbox 0x00007fff85277da8 AEProcessAppleEvent+55
30应用套件0x00007fff838019c4 _dpsnextent+1833
31 AppKit 0x00007fff83f7cd72-[NSApplication(NSEvent)\下一个VentMatchingVentMask:untilDate:inMode:dequeue:+2796
32应用套件0x00007fff837f640d-[N应用程序运行]+926
33应用套件0x00007fff837c0d09 NSApplicationMain+1237
34频带管理器2.0 0x00000001000613d0主+13
35 libdyld.dylib 0x00007fff9b8ad234开始+1
(lldb)
我希望有人能对如何解决这一问题有所了解。我对核心数据比较陌生,它让我的编码完全停顿了下来,当然,应用程序在发布后立即崩溃

谢谢


更新:我应该澄清,我理解发生这种情况的技术原因(没有找到所需的资源),但我不知道如何解决这个问题。它似乎找不到的资源是在过去某个时候自动生成的。我似乎不知道如何让XCODE重新生成所需的文件,甚至不知道它为什么会丢失。

好的。所以我想出了这个

大约一周前,我将核心数据文件从“Band Manager_2_0”重命名为“bmData”,在过去的一周里,一切都很正常。然而,今天,当我迁移数据时,它最终“中断”了连接

我不知道为什么重命名文件后连接没有立即中断,这会让我陷入问题。它一定是以我今天破坏的方式兑现了这个地点

特别令人困惑的是,代码的扩展名是“momd”,而实际文件的扩展名是o