Ios 您的文档没有保存吗?
不管我怎么做,这都不管用 我正在尝试使用Ios 您的文档没有保存吗?,ios,objective-c,save,uidocument,Ios,Objective C,Save,Uidocument,不管我怎么做,这都不管用 我正在尝试使用UIDocument在本地保存我的(文本)文件。当我创建一个文件(即,它没有加载)时,它保存得很好但是,如果通过打开文件然后保存来加载文件,它将无法保存 编辑:当应用程序进入后台时,我尝试保存我的文档。然而,当我进入前台时,应用程序似乎实际上“完成了保存”文档。是否不允许我的应用程序在后台保存文档 我已经检查了我的URL,它们都是有效的 以下是从头开始创建文档的代码: document = [[MyDocumentClass alloc] initWith
UIDocument
在本地保存我的(文本)文件。当我创建一个文件(即,它没有加载)时,它保存得很好但是,如果通过打开文件然后保存来加载文件,它将无法保存
编辑:当应用程序进入后台时,我尝试保存我的文档。然而,当我进入前台时,应用程序似乎实际上“完成了保存”文档。是否不允许我的应用程序在后台保存文档
我已经检查了我的URL,它们都是有效的
以下是从头开始创建文档的代码:
document = [[MyDocumentClass alloc] initWithFileURL:fileURL];
fileURL
是以前创建的。
加载时,我不会打开或创建它,我只是在用户退出应用程序时保存它
如果文件已存在于磁盘上:
以下是打开的代码:
[document openWithCompletionHandler:^(BOOL success){
if (!success) {
NSLog(@"FAILED TO OPEN DOCUMENT");
}
// Code to handle document's data
}];
为了节省开支:
[document saveToURL:[NSURL fileURLWithPath:path] forSaveOperation:UIDocumentSaveForOverwriting completionHandler:^(BOOL success){
if (!success || document.documentState == UIDocumentStateSavingError) {
NSLog(@"FAILED TO CLOSE DOCUMENT");
}
}];
我的文档在contentsForType:error:
中正确编码和提供数据,前提是它在第一次创建时正确保存
我在handleError:UserInteractionAllowed:
有什么想法吗
N.B.我将数据保存在ApplicationIdentinterBackground:
而且,
savetoul:forSaveOperation:completionHandler:
的完成处理程序从未被调用…您在模拟器上测试过它吗?车满了,因为不承诺立即进行保存!如果您在模拟器上测试,请尝试以下操作:在模拟器上安装应用程序,停止首次发布会话,在模拟器上打开应用程序,编辑并保存您的文档,关闭应用程序,重新打开应用程序并检查您的文档是否已保存-如果是,则可以!。PS with simulator当您停止首次亮相时,您可能会中断在后台保存的过程(但我们不知道系统何时执行此操作)
跳过此帮助谢谢阿尔芒·多姆的帮助。事实证明,在我的应用程序进入前台之前,保存是暂停的,因为当用户按下home按钮时,我正在保存。这个问题似乎解决了这个问题:您是否首先在某个地方创建了文档 例如,对于创建:
[document saveToURL:[NSURL fileURLWithPath:path] forSaveOperation:UIDocumentSaveForCreating completionHandler:^(BOOL success){
if (!success || document.documentState == UIDocumentStateSavingError) {
NSLog(@"FAILED TO CLOSE DOCUMENT");
}
}];
和用于覆盖:
[document saveToURL:[NSURL fileURLWithPath:path] forSaveOperation: UIDocumentSaveForOverwriting completionHandler:^(BOOL success){
if (!success || document.documentState == UIDocumentStateSavingError) {
NSLog(@"FAILED TO CLOSE DOCUMENT");
}
}];
当我重新进入前台时,我的文档保存了!