问题标签 [uidocument]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
611 浏览

iphone - UIDocument 和 NSDictionary

我试图弄清楚当我试图通过 iCloud 同步/共享的文件本质上是一个 NSDictionary 时 UIDocument 子类应该是什么样子。

字典文件(plist)有一堆作为主键的键。每个键都可以有另一个字典。

我见过只有一个 NSString 属性的 UIDocuments 的例子。他们所做的只是在设备之间同步这些“笔记”。

说到这个..我应该如何对待 UIDocument ?也许 NSDictionary 中的每个键都是一个 UIDocument?或者是否应该同步整个文档。

任何示例都会非常有帮助。

0 投票
1 回答
171 浏览

ios - UIWebView 能否用于在 iOS 应用中查看和编辑 XML 文档

如果我的应用程序创建和编辑大纲样式的 XML 文档,文档是否可以在 UIWebView 中呈现并在呈现时在同一个视图中进行编辑?

0 投票
4 回答
953 浏览

objective-c - UIDocument 无法再次关闭?

当 UIDocument 关闭时,它可以再次关闭吗?即使重新打开后它的documentState是UIDocumentStateNormal?

请帮我。非常感谢!

当在“异常”标记处调用 closeWithCompletionHandler 时,会引发异常:

0 投票
1 回答
980 浏览

daemon - iCloud 守护程序上传离线完成的更改很慢

当设备在线时进行更改时,iCloud 守护程序似乎会在几秒钟内将更改上传到 iCloud 服务器。但是,我注意到当本地 iCloud 容器离线完成更改然后设备上线时,iCloud 守护程序在上传更改时不一致。重新建立连接后,在将更改上传到 iCloud 服务器并被其他设备检测到之前,我会遇到几秒到 30 分钟的延迟。这是正常的吗?有什么方法可以告诉 iCloud 守护进程强制上传?

我只使用 UIDocument 的子类(创建、打开、更改、将文件保存到 iCloud 容器)和 NSMetadataQuery 来检测更改。重新上线后,键 NSURLUbiquitousItemIsUploadedKey 的文件状态为 false 并且可以长时间保持这种状态。我尝试重新保存文件以尝试强制 iCloud 守护程序上传更改,但它似乎没有帮助。

0 投票
1 回答
291 浏览

iphone - NSFileVersion 的 unresolvedConflictVersionsOfItemAtURL: 行为

有人知道 [NSFileVersion unresolvedConflictVersionsOfItemAtURL:] 返回超过 1 个版本的情况吗?

0 投票
1 回答
905 浏览

ios - NSCoder + UIDocument:它们兼容吗?

这可能是一个幼稚的问题 - 但我想仔细检查以避免浪费时间,UIDocument如果它不符合我的要求。

背景:我有一个应用程序,我为其创建了一个简单的文件系统,以将用户创建的文档保存为plists. 我的编码/解码都在工作。我正在使用一些原始类型并使用适当的编码器方法进行处理。我有一个命名系统并将 plist 保存到目录中的自定义目录中,Library因为这些是用户不应该直接访问的文档。(如果他们愿意,他们可以将数据导出到文档目录。

我开始考虑“自动保存”,然后发现UIDocument- 看起来很棒。

因此,鉴于上述情况,我似乎可以使用UIDocument吗?我保存的是从 NSObject 派生的自定义类“项目”实例。它包含一堆 NSMutable 数组,其中包含自定义类、NSDictionaries 等的实例。我现在正在阅读这个 UIDocument 教程:http ://www.raywenderlich.com/6015/beginning-icloud-in-ios-5-tutorial -part-1但不想发现由于我的数据等原因它无法正常工作。

更新:(对于那些在家阅读的人...... ;-)在这方面取得了一些进展。 UIDocument 使用NSKeyedArchiver而不是NSCoder (错误 - 请参阅下面的答案),但编码方法名称相同,因此很容易调整我已经拥有的内容。已经能够保存一个看起来像是在捕获所有数据的 plist - 但在我尝试将其全部读回之前我不会知道。收到一个我尚未解决的错误:

NSFileCoordinator:一个令人惊讶的服务器错误信号。详细信息:连接无效

并不奇怪,因为我在本地保存并不清楚它为什么要尝试连接到 iCloud。希望我能把它关掉。

0 投票
1 回答
1162 浏览

objective-c - iOS5.1:同步任务(等待完成)

我在将 openWithCompletionHandler: (UIManagedDocument) 与主要活动同步时遇到了一个基本问题。

情况:我有一个管理共享 UIManagedDocument 的单例类。此类提供了一种方法,该方法应以正常状态交付文档(即创建或打开它,无论是什么必要的)。但是因为 openWithCompletionHandler: 在后台异步执行其主要工作,所以我的程序应该等待设置 fetchedResultsController 直到文档真正打开。当数据库未准备好时,“viewWillAppear”方法(当前)不会产生有用的输出。等待对我来说没问题,但获得通知可能是更好的方法。也许 viewWillAppear 不是 setupFetchedResultsController 的正确点,因为没有在运行循环中调用。

是否有标准模式来实现这一目标?

更多背景知识(我认为不是那么重要) 我正在开发一个涉及 CoreData UIManagedDocument 的 iOS 5.1 小应用程序。我类似于去年秋天在 iTunes-U 的斯坦福课程第 14 课中的示例。一切正常,直到我尝试将 UIManagedDocument 的处理从 UITableViewController 类放到一个单独的类中处理我的文档。在原始版本中,FetchedResultsController 是在完成处理程序中设置的。

0 投票
1 回答
415 浏览

objective-c - iCloud NSFileManager API - 游戏分数存储

我目前有一个 iOS 应用程序,我想为其启用 iCloud 分数存储,以便用户可以在他们的设备上同步他们的游戏进度。用户进度存储在沙箱文档文件夹中的多个 plist 文件中。我在网上阅读了几篇关于 iCloud 和各种“帮助程序类”(NSFileManager、UIDocument、NSFileCoordinator 等)的文章,但我有点困惑哪一个适合我(NSFileManager 能完成这项工作还是我需要继承 UIDocument )。

API 让我有点困惑。

0 投票
1 回答
408 浏览

icloud - 在进入后台时将 UIDocument 上传到 iCloud

我有一个启用 iCloud 的应用程序,它使用 UIDocument 来管理其数据。当文档打开并且应用程序进入后台状态时,文档应该被保存并上传到 iCloud。进入后台状态时保存文档开箱即用,但我无法找到让图书馆员接受更改的方法。仅当应用程序返回前台时才会上传文档。

我注意到其他支持 iCloud 的应用程序——比如 iWork 应用程序——也有这种行为。如何在我自己的应用程序中启用此功能?

我已经尝试在 beginBackgroundTaskWithExpirationHandler 块中手动启动自动保存,但遗憾的是这不起作用。

0 投票
1 回答
413 浏览

cocoa-touch - 调用 closeWithCompletionHandler 时出现异常:在 UIDocument 上多次调用

UIDocument 的单个实例不能多次打开和关闭吗?似乎我可以打开、关闭和重新打开一个文档,但是当我再次尝试调用 closeWithCompletionHandler: 时,我得到一个异常:

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'closeWithCompletionHandler called while document is already closing'

在调用之前,documentState 是 Normal。

希望我只是忽略了一些明显的东西......