gpt4 book ai didi

ios - UIDocument 不保存?

转载 作者:搜寻专家 更新时间:2023-10-30 20:17:59 26 4
gpt4 key购买 nike

无论我怎么尝试,这都行不通...

我正在尝试使用 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: userInteractionPermitted: 中没有收到任何错误

有什么想法吗?

注意 我将数据保存在 applicationDidEnterBackground:

saveToURL: forSaveOperation: completionHandler: 的完成处理程序永远不会被调用...

最佳答案

你在模拟器上测试过吗?将汽车装满,因为不 promise 立即完成保存!如果你在模拟器上测试,试试这个:在模拟器上安装应用程序,停止首次亮相 session ,在模拟器上打开应用程序,编辑并保存你的文档,关闭应用程序,重新打开你的应用程序并检查你的文档是否已保存 - 如果是,很好!。 PS with simulator 当你停止首次亮相时,你可能会中断后台保存的过程(但我们不知道系统何时执行此操作)。

希望得到帮助

关于ios - UIDocument 不保存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22332165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com