问题标签 [nsarchiving]

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 回答
69 浏览

nsdictionary - NSDictionary 到自定义类

我有一个自定义类 QBChatDialog 对象,我将其存储在 sqlite 数据库中,例如

然后我从数据库中检索 NSDictionary 。

如何将其映射回QBChatDialog类,以获取类似dialog.IDor的值dialog.lastMessageText。该类是第三方 API,一些属性是read-only.

谢谢

0 投票
1 回答
694 浏览

ios - 是否可以使用 NSKeyedArchiver 来存储动画 UIImage?

我使用从 Web 服务器下载的帧加载了图像。

每当我尝试归档这些帧时,编码函数都会返回 NO:

每当我尝试存档图像时,编码函数也会返回 NO:

这是否可能,或者我是否遗漏了一些需要从包中加载 UIImage、以 png 格式或非动画形式的 archiveRootObject 警告?

仅供参考,在调试器中打印出的 archivePath 是

更新:

我将动画的各个帧存储在 for 循环中,但我得到以下信息:

但是在 NSKeyedArchiver 行上,我得到“malloc: *** error for object 0x178202340: Freeing unallocated pointer”

0 投票
0 回答
33 浏览

ios - 在 iOS 中使用 md5 获取具有相同对象的两个不同 ID

我正在使用 md5 算法通过以下方法在我的应用程序中存档信用卡信息:

我也在使用相同的算法检索数据。但是,我发现打印后(NSLOG):

我会得到两个不同的结果。“self”是我创建的信用卡类。有谁知道为什么会这样?

以下是我用来保存和删除信用卡的两种方法:

0 投票
0 回答
194 浏览

swift - 以字符串为键存档字典是否安全?

根据 Apple 文档,字符串的哈希值可能在应用程序的不同调用中不稳定:

不保证哈希值在同一程序的不同调用中是稳定的。不要在程序运行期间保留哈希值。 苹果文档

归档(通过 NSArchive)以下类型的字典是否安全[String: AnyObject]?如果是这样,字典如何防止不稳定?它是否将字典存档为元组数组,例如[(key, value)]

0 投票
1 回答
1004 浏览

swift - Internal /bin/cp command failed. xCode compiler error

I'm working in Xcode trying to build a simple calendar app. As I tried to build and run I get this error

Task Failed with exit 1 signal 0 {

All I know is that it gives me the error when this line is typed... It goes away when I comment it out.

UPDATE: I just tried to recompile and was given a new error.

It appears like something is wrong with the swift std library. It randomly switches between the two errors.

0 投票
0 回答
429 浏览

ios - 在 iOS 应用程序上保留数千张图像的最佳方法是什么?

我正在构建一个 iOS 应用程序,我想保留图像。我坚持的图像有可能成千上万?我在网上看到一个常见的解决方案是使用 Documents/ 目录。

即使图像的大小和图像数量可能非常大(数千个认为在 1,000 - 5,000 之间),存储在 Documents/ 目录中是否是一种好方法?NSArchiver 呢,它的优点是可能以更紧凑的格式存储图像数据。我不想要像 Core Data 这样的 DB/模型管理框架的开销,这对我的用例来说有点过分了。

0 投票
1 回答
531 浏览

ios - Swift 3.0 中的归档和取消归档

我在swift 3.0中对归档取消归档数据有一些问题。

我阅读了一些相同的帖子,但对于某些情况仍然没有完全清楚。

  1. enum(我曾经rawValue存档过。)

  2. struct(我在http://swiftandpainless.com/nscoding-and-swift-structs/中了解了extension归档它的方法)。还有其他方法吗?

  3. Array

由于array也是 a struct,所以它也必须遵循与 a 相同的归档约定struct。但我能够归档一个array基本数据类型,例如。String, Int等直接。IE

let arr = ["1", "2"], 直接存档,没有任何extension.

另外,它是如何工作的array of custom objects

  1. Set

  2. Dictionary

0 投票
1 回答
391 浏览

ios - 编码复杂对象swift 3.0

我已经阅读了几篇文章并尝试了所有解决方案,但在我的情况下没有任何效果。

我正在使用这种复杂的数据结构,需要将 DrawnObjects 数组存储在文件中。但是当它第一次对一个本身是一个结构类型数组的变量进行编码时,它就崩溃了。有什么帮助吗?

[_SwiftValue encodeWithCoder:]:无法识别的选择器发送到实例 0x1702668c0

0 投票
1 回答
69 浏览

ios - 在 Swift 中归档自定义对象 - 扩展

我正在开发 Swift 4.0 上的 iOS 应用程序。该应用程序使用第 3 方 SDK,其中有一个模型可以说,

那时我无法控制将模型的任何属性和签名修改为它的内部 SDK。但我需要将对象存储在磁盘/用户默认值中并在需要时加载。

可能吗?如果是,那我该怎么做?

0 投票
1 回答
127 浏览

cocoa - Cocoa 绑定,绑定到文本字段的默认值中的字符串值。如何以编程方式读取此字符串?

我有一个可可绑定UserDefaults和一个TextField通过 IB 的设置:

在此处输入图像描述

这很好用,在每次启动应用程序时TextField都会保持它的价值

但是,我也想在代码的其他地方以编程方式读取这个字符串值。我已经尝试了基本上所有的UserDefaults.standard电话:

UserDefaults.standard.string(forKey:)返回nil

object(forKey:)返回这个:

鉴于此,我决定尝试对Data我检索到的data(forKey:)

我玩过不同的编码器,都是垃圾。在我使用 ascii 之前,你可以看到那里有英文的提示,“NSKeyedArchiver”、“unarchiver”等。让我相信这个数据实际上不仅仅是一个 String,而是一个压缩的 String(存档)

所以我想也许我需要初始化一个NSKeyedUnarchiver

但从那里......我不知道该怎么办。我从NSKeyedUnarchiver退货中要求的一切nil

我在正确的轨道上吗?

如何通过 Cocoa Bindings 读取存储在共享用户默认控制器中的这个字符串值?