问题标签 [nsfilewrapper]
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.
iphone - 在 iOS 中从 NSFileWrapper 播放电影
你如何播放一部电影NSFileWrapper
?
我希望在(如)中找到一个initWithData:
构造函数,但只提供了一个。MPMoviePlayerController
AVAudioPlayer
initWithContentURL:
objective-c - 如何在 NSTextView 中显示 gif 图像
我是mac开发的新手。我正在通过继承 NSTextView 来开发一个关于richEdit 的应用程序。在我自定义的 textView 中,我可以插入 .bmp .jpeg .png 之类的图像。代码是这样的:
通过这种方法,那些图像效果很好,但是当图像是 gif 时,动画不显示。所以,我试着这样显示:
最后,gif动画工作。但是我的问题来了:当我单击或选择 gif 图像时,右键单击上下文菜单不显示,但其他类型图像的上下文菜单效果很好。
macos - 检查 Cocoa 中的两个文件是否相同
您如何有效地检查 Cocoa 中的两个文件是否相同(具有相同的数据)?
上下文:我正在编写一个程序,它接收一个文件作为输入(输入文件)并将其复制到一个目录中。如果目录已经包含同名文件(同名文件),那么只有当同名文件不同时,才应使用新名称复制输入文件。
macos - 在 fileWrapperOfType 中取消阻止用户交互
我想在我的 NSDocument 中实现异步保存。根据文档,我需要返回 YES ,canAsynchronouslyWriteToURL:ofType:forSaveOperation:
然后unblockUserInteraction
在写作期间调用。
在我的文档中,写入是fileWrapperOfType:error:
通过简单地返回一个 NSFileWrapper 来执行的。
关于这一点,文档说:
例如,fileWrapperOfType:error: 的默认实现在创建要返回的 NSFileWrapper 对象时调用 [unblockUserInteraction]。假设 NSFileWrapper 没有被后续的用户操作改变,它实际上是文档内容的“快照”,一旦它被创建,它就可以安全地在主线程上继续处理用户事件,即使其中一些用户事件可能在安全写入 NSFileWrapper 对象之前更改文档的内容。
目前在我的代码self.myMutableFileWrapper
中可以更改 after fileWrapperOfType:error
,所以我不能假设它不会像文档所说的那样发生突变。
这是否意味着我应该修改fileWrapperOfType:error:
以复制我的文件包装器,然后调用unblockUserInteraction
?像这样的东西:
如果以上是正确的,我如何制作一个 NSFileWrapper 的副本?此外,制作一个可能巨大的 NSFileWrapper 的副本不会否定异步保存的性能优势吗?
ios - NSKeyedUnarchiver SIGBUS BUS_ADRALN 崩溃
我使用以下通常效果很好的方法在 NSFileWrapper 中解压缩数据:
但是,我偶尔会遇到线路 SIGBUS 崩溃unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
。我猜这种类型的异常没有被我的异常处理程序捕获?我该如何处理此类异常以及导致它们的原因?
这是 Crashlytics 崩溃报告:
ios - 带有核心数据、照片和 iCloud 的 iOS 应用
我正在开发一个应用程序,它使用核心数据(使用 UIManagedDocument)来存储我想与 iCloud 同步的用户生成数据。我还想在应用程序中同步用户使用相机拍摄的照片。
我读到将实际照片存储在核心数据中并不是一个好主意。相反,最好将照片存储在文件系统中,并将 fileURL 放在核心数据中。
使用这种方法,当使用 UIDocument 将照片存储在文件系统中(在 Documents 文件夹下)时,推荐的方法是什么?我想过:
- 对于每张照片,使用 NSFileWrapper(包含实际图像和缩略图),或
- 使用顶级 NSFileWrapper,并为每张照片将所有 NSFileWrapper 放入其中
- 类似于#2,但只是将所有照片/缩略图直接放在顶级 NSFileWrapper
哪种方法更适合将照片与 iCloud 同步?有没有更好的方法?
iphone - 使用 NSFileWrapper 在 UIDocument 中存储 BOOL
这可能是我太厚了,但是如何将 BOOL 存储在 UIDocument 中?我目前正在使用 NSFileWrappers 在“contentsForType:error:”方法中存储字符串和图像,但是看到没有办法将 bool 转换为 NSData,最好的方法是什么?
谢谢
ios - 在 NSKeyedUnarchiver 对象中找不到密钥
我通常以这样的方式编码我的数据NSFileWrapper
(我省略了 NSFileWrapper 位):
我通常会在这样做时取回我的数据:
有时,我会NSData
返回(不是 nil),但[unarchiver decodeObjectForKey:@"data"]
会返回 NIL。看起来好像没有键 @"data" 的对象,即使应该有。我想编码时一定出了问题,但我不知道如何解决这个问题。我可以只取其中的任何内容data
并对其进行编码,而不用担心它是否有正确的密钥吗?我的意思是应该只有一个关键的“数据”。
macos - NSFileWrapper 有时返回 nil
我正在使用NSFileWrapper
我的包裹文件。有时,当我请求包内文件的数据时,我得到nil
.
这就是我查询包内文件数据的方式:
此方法最终开始为某些文件(不是全部)返回 nil。可悲的是,我没有设法始终如一地重现该问题。
如果有帮助,这就是我打开包裹的方式:
这就是我更新包内文件数据的方式:
这就是我保存包的方式:
为什么会发生这种情况?有没有办法防止它?
的文档regularFileContents
似乎谈到了这个问题:
如果用户在调用 readFromURL:options:error: 或 initWithURL:options:error: 之后但在 NSFileWrapper 读取文件内容之前修改了文件,则此方法可能返回 nil。使用 NSFileWrapperReadingImmediate 读取选项来降低出现该问题的可能性。
但我不明白在上面的代码中必须改变什么来防止这种情况。
失败的实验
如果返回 nil,我尝试保存文档,regularFileContents
但之后仍然返回 nil。像这样:
objective-c - 我们可以确定 iCloud 文件包中发生了什么变化吗?
我正在尝试使用支持 iCloud 的 UIDocument 和基于目录的 NSFileWrapper(又名文件包)来维护复杂的应用程序状态。在我的应用程序中,用户可以有许多不同的配置(有点像为每个潜在驾驶员提供座位设置的汽车)。
对于每个单独的状态,我将一个常规文件 NSFileWrapper 添加到整个文件包中。
将我的 UIDocument 写入/读取云的工作正常。当文件包更改时,我也会收到通知。
问题是我无法从通知中找出子文件(即状态)的哪些添加或更改导致包更改。
我已经尝试在我的自定义 UIDocument 中覆盖presentedSubitemDidChangeAtURL,但这只会给我包的URL。我还尝试了文件包装器的 matchesContentsOfURL 方法,但这似乎不正确,因为子文件包装器没有“真实”URL。
欢迎提出意见和建议。