Xcode 基于文档的应用程序保存文件

Posted

技术标签:

【中文标题】Xcode 基于文档的应用程序保存文件【英文标题】:Xcode Document Based Application Save FIile 【发布时间】:2015-03-15 21:03:00 【问题描述】:

所以我在搞乱基于文档的应用程序,我正在尝试让保存文件工作。我有一个保存到 .lgre 的文件格式,每当我点击保存时,我都会选择位置,然后除了我在那个控制台中得到它之外什么都没有发生。谁能告诉我怎么了?

    0   CoreFoundation                      0x00007fff8c64b64c __exceptionPreprocess + 172
1   libobjc.A.dylib                     0x00007fff8e9ca6de objc_exception_throw + 43
2   CoreFoundation                      0x00007fff8c64b4fd +[NSException raise:format:] + 205
3   Ligre UI                            0x00000001000011b1 -[Document dataOfType:error:] + 129
4   AppKit                              0x00007fff933d8fcf -[NSDocument writeToURL:ofType:error:] + 861
5   AppKit                              0x00007fff933dbf03 -[NSDocument writeToURL:ofType:forSaveOperation:originalContentsURL:error:] + 494
6   AppKit                              0x00007fff933dae6b -[NSDocument _writeSafelyToURL:ofType:forSaveOperation:forceTemporaryDirectory:error:] + 850
7   AppKit                              0x00007fff933dbb93 -[NSDocument _writeSafelyToURL:ofType:forSaveOperation:error:] + 28
8   AppKit                              0x00007fff933dbd01 -[NSDocument writeSafelyToURL:ofType:forSaveOperation:error:] + 357
9   AppKit                              0x00007fff933e8fc5 __66-[NSDocument saveToURL:ofType:forSaveOperation:completionHandler:]_block_invoke_22307 + 240
10  AppKit                              0x00007fff933e8ec6 __66-[NSDocument saveToURL:ofType:forSaveOperation:completionHandler:]_block_invoke2304 + 365
11  AppKit                              0x00007fff933e72e6 __66-[NSDocument saveToURL:ofType:forSaveOperation:completionHandler:]_block_invoke2176 + 1587
12  AppKit                              0x00007fff93426882 __62-[NSDocumentController(NSInternal) _onMainThreadInvokeWorker:]_block_invoke1881 + 175
13  CoreFoundation                      0x00007fff8c56954c __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12
14  CoreFoundation                      0x00007fff8c55b655 __CFRunLoopDoBlocks + 341
15  CoreFoundation                      0x00007fff8c55b196 __CFRunLoopRun + 1814
16  CoreFoundation                      0x00007fff8c55a838 CFRunLoopRunSpecific + 296
17  HIToolbox                           0x00007fff9421243f RunCurrentEventLoopInMode + 235
18  HIToolbox                           0x00007fff942121ba ReceiveNextEventCommon + 431
19  HIToolbox                           0x00007fff94211ffb _BlockUntilNextEventMatchingListInModeWithFilter + 71
20  AppKit                              0x00007fff92fbe6d1 _DPSNextEvent + 964
21  AppKit                              0x00007fff92fbde80 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 194
22  AppKit                              0x00007fff92fb1e23 -[NSApplication run] + 594
23  AppKit                              0x00007fff92f9d2d4 NSApplicationMain + 1832
24  Ligre UI                            0x0000000100001302 main + 34
25  libdyld.dylib                       0x00007fff8cea45c9 start + 1
26  ???                                 0x0000000000000003 0x0 + 3
 )

【问题讨论】:

【参考方案1】:

您是否覆盖了 dataOfType 或 writeToURL 方法之一?

在此处查看讨论:https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSDocument_Class/index.html#//apple_ref/occ/instm/NSDocument/dataOfType:error:

【讨论】:

以上是关于Xcode 基于文档的应用程序保存文件的主要内容,如果未能解决你的问题,请参考以下文章

Xcode iOS 生成 .png 文件并使用 NSFileManager 保存

如何从基于 SwiftUI 文档的应用程序中将多个文件保存在包文件夹中?

OS X 数据文件编辑器保存到 XML:是不是基于文档?

Cocoa 基于文档的应用程序:对于仅查看器的文件类型,将“保存”更改为“另存为”

如何向基于文档的 Swift 3 应用程序添加简单的保存加载功能?

Xcode 9 beta 5 无法保存编辑的 .daes