- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在我的项目中使用 Core Data 并在以下代码部分遇到罕见的崩溃
-(void) useDocument{
AFFormsCoreDataEngine* engine = [AFFormsCoreDataEngine sharedInstance];
if (![[NSFileManager defaultManager] fileExistsAtPath: [engine.formsDatabase.fileURL path]])
{
[engine.formsDatabase saveToURL: engine.formsDatabase.fileURL forSaveOperation: UIDocumentSaveForCreating completionHandler: ^(BOOL success){
// setup
}];
}
else if (engine.formsDatabase.documentState == UIDocumentStateClosed)
{
[engine.formsDatabase openWithCompletionHandler: ^(BOOL success){
// setup
}];
}
else if (engine.formsDatabase.documentState == UIDocumentStateNormal)
{
// setup
}
}
这是崩溃日志的内容:
Last Exception Backtrace:
0 CoreFoundation 0x371fd88f __exceptionPreprocess + 163
1 libobjc.A.dylib 0x31272259 objc_exception_throw + 33
2 CoreFoundation 0x371fd789 +[NSException raise:format:] + 1
3 Foundation 0x32ce83a3 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 91
4 UIKit 0x306b3149 -[UIDocument openWithCompletionHandler:] + 173
5 EETECH 0x00014d23 -[AFFormListViewController useDocument] (AFFormListViewController.m:150)
谁能帮我解决这个问题?它很少发生,但仍然很不愉快
最佳答案
如果您的应用尝试连续两次调用您的 useDocument 方法,则会发生错误。
因为openWithCompletionHandler:打开文档是异步的,再次调用该方法时文档可能还在打开中。
如果发生这种情况,您的应用最终会尝试打开文档两次(因为文档状态将保持 UIDocumentStateClosed 直到完成),这会导致抛出异常。
如果你有一个异常断点,你可能会在控制台看到这样的东西:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'attempt to open or a revert document that already has an open or revert operation in flight:
关于ios - UIDocument openWithCompletionHandler : crash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11933055/
我尝试通过以下方式打开文档文件,但没有任何反应。我也尝试过其他方法,但它对我不起作用。打开文档文件(doc、docx、pdf、ppt 等)的正确方法是什么。我在 UIWebView() 的某处读到这也
我正在尝试打开多个 UIDocument循环中的实例,使用 - (void)openWithCompletionHandler:(void (^)(BOOL success))completionHa
我目前正在使用 UIDocument 子类将我现有的应用程序从 CoreData 存储重新设计为基于文档的应用程序。这主要是为了能够引入 iCloud 同步,因为 CoreData 中的 iCloud
无论我怎么尝试,这都行不通... 我正在尝试使用 UIDocument 在本地保存我的(文本)文件。当我创建一个文件(即它没有加载)时,它保存得很好。 但是,如果我通过打开文件加载我的文件然后保存它,
我正在处理云中的文档... * 将文档添加到云端 * 从云端删除该文件 * 不知何故,该文件在几秒钟后重新出现。 以下是详细信息: 我像这样创建了一个 UIDocument 实例 NSURL
我有一个带有 UIDocument 的基于文档的 iOS 应用程序子类。我需要能够在文件系统上移动它代表的文件。我考虑过用 NSFileManager 移动它, 但这会弄乱 UIDocument的fi
我有一个 UIDocument,我希望它由 (1) 一个 txt 文件和 (2) 几个 jpg 图像组成。我将 txt 和所有 jpg 放入 NSFileWrapper 中。 当我加载 UIDocum
我正在尝试遵循本教程... https://www.raywenderlich.com/131668/document-provider-tutorial 我已经到了这一部分... 但是我无法弄清楚在
我设置 UIDocument 以将我的文件保存到设备。我用 标记一个文件需要保存 [ myDoc updateChangeCount:UIDocumentChangeDone ] 现在看来,保存操作只
这可能是一个幼稚的问题 - 但我想仔细检查以避免在 UIDocument 上浪费时间,如果它不符合我的要求的话。 背景:我有一个应用程序,我为其创建了一个简单的文件系统来将用户创建的文档保存为 pli
我使用过 UIDocument,但我不明白与使用 Archiving 相比有何优势?假设您不想使用 iCloud。 最佳答案 来自 Apple 的文档:http://developer.apple.c
我正在使用 Xcode。 在我的应用程序中,我在那个位置保存了一些 UIdocuments [[NSFileManager defaultManager] URLsForDirectory:NSDoc
我一直在尝试向 UIDocument 应用程序的图标添加缩略图。我给出的例子相对简单。通过重写 UIDocument 类中的 fileAttributesToWrite 函数,将图像分配给 thumb
Apple 的 iOS 基于文档的应用程序编程指南显示了构建 FileRepresentation 对象列表以显示文档索引的示例代码。最初没有创建 UIDocument 的实例。然后,当打开文档时,将
创建了UIDocument(XDocument)的子类,由于数据量大,需要一些时间来保存文档。 因此,当我使用 closewithcompletionhandler 关闭 XDocument 实例时,
我在 Swift 中使用 DocumentBrowserViewController 将文档呈现给 ViewController。在 ViewController 中,我有一个 tableView 来
我在我的应用程序中使用文档包(通过 FileWrapper API)并且我使用 UIDocumentBrowserViewController 类进行文档管理。文档包基本上表示(文本)文件和文件夹的层
我有一个基于文档的 iOS 应用程序,当它第一次打开文档时,主视图 Controller 调用 UIDocument.open。 document.open { success in if s
当一个 UIDocument 被关闭时,它还能再次关闭吗?即使它的 documentState 在重新打开后是 UIDocumentStateNormal? 请帮帮我。非常感谢! [document
当我尝试通过 iCloud 同步/共享的文件本质上是一个 NSDictionary 时,我试图弄清楚 UIDocument 子类到底应该是什么样子。 字典文件(plist)有一堆键是主键。每个键都可以
我是一名优秀的程序员,十分优秀!