问题标签 [nskeyedarchiver]

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 投票
0 回答
280 浏览

objective-c - 存档数组中的 NSNumbers 消失

好的,我已经创建了一个 NSNumber 对象数组,并将其存储到 NSMutableArray 中。当游戏加载时,它被取消归档并保留,但所有 NSNumber 对象都消失了。这是我的代码:

请帮忙。

0 投票
1 回答
931 浏览

iphone - 使用 NSKeyedUnarchiver 时出错

我正在编写一个 iPhone 应用程序,但在尝试存档设置时遇到了问题。我正在使用一个类 (AppData) 来保存设置(该示例目前仅显示一个),并使用 App Delegate 在应用加载时创建 AppData 的实例,并在应用终止时存储它。我符合(我认为)NSCoding 协议

该应用程序将文件存储在 Documents 目录中,并且检查文件结构似乎包含我期望的数据。但是,当文件在 unarchiver 中加载时返回错误

***由于未捕获的异常“NSInvalidUnarchiveOperationException”而终止应用程序,原因:***-[NSKeyedUnarchiver decodeObjectForKey:]:unarchiver 已完成;无法再解码任何东西'

我一直在努力解决这个问题,所以如果有人能看到这个问题,我将非常感激。

代码:

应用代表:

界面:

执行:

应用数据类:

界面:

执行:

最后是常量.h

//此文件包含所有应用程序常量

0 投票
5 回答
6824 浏览

iphone - NSKeyedUnarchiver - 删除解码的数据?

我无法对我之前的(相关)问题得到任何答复,所以我想知道稍微解释一下它是否会有所帮助。

我正在使用 NSKeyedArchiver 编码一些复杂的对象并将其保存到磁盘。说,像 -

我正在尝试构建的功能是让用户能够保存他的工作,比方说,同时创建一个新成员并稍后再回来。当用户完成后,他点击发布,数据将被传输到网络服务。如果没有,他只需单击保存并离开屏幕,数据就会被持久化,这样当用户回来时,应用程序就可以从那个点恢复。现在,一旦我将数据发布到 Web 服务,我不想再将数据保留在磁盘中,而且我真的找不到删除它的方法。

现在,我的编码和解码类运行良好。我可以使用 NSKeyedArchiver 将数据保存到磁盘并使用 NSKeyedUnarchiver 检索它。但是,我的问题是,如何删除不再需要的数据?我必须手动删除磁盘上的文件吗?有没有办法让 NSKeyedUnarchiver 删除它返回的数据?

谢谢,
泰加。

0 投票
1 回答
5282 浏览

iphone - NSCoding 与对象内的 NSString

我的问题是我检索我的 NSArrayStore对象,我所有的 NSString 属性都导致BadAccess错误。int 和 double 属性工作正常!

商店.h

商店.m

这是我用于存储和检索数组的代码。

感觉就像我尝试了一切,但无法弄清楚它在解码中是如何工作的,但在我将它放入数组后循环数组时却没有。

有人有想法么?

0 投票
2 回答
6022 浏览

objective-c - 如何将自定义对象的 NSArray 归档到 Objective-C 中的文件

你能告诉我在Objective-C中归档自定义对象的NSArray的语法或任何示例程序吗?

0 投票
4 回答
547 浏览

iphone - 移动设备上的数据保护

我在手机上存储了一些医疗保健数据,我想知道最好的加密系统是什么,以保证数据的安全。它基本上是一堆模型对象,我使用 NSKeyedArchiver / Blackberry 上的等价物进行序列化和存储(这个名字现在我不知道)

有小费吗?我不想在进行过程中编写安全协议,但其他线程之一建议采用以下方法。

  • 生成公钥/私钥对
  • 存储公钥
  • 使用用户密码的哈希加密私钥。
  • 使用公钥加密字节流。
  • 每当用户登录时解密 pvt 密钥,将其保存在内存中,并根据需要解密存储的数据。

有没有更标准的方法来做到这一点?

谢谢,
泰加。

编辑:我很感激你试图帮助我,但目前正在讨论的事情是业务级别的讨论,我无法控制。所以换个说法,如果你忽略它是医疗保健数据,而是一些机密数据,比如密码,你会怎么做?

0 投票
1 回答
1025 浏览

iphone - 如何使用 NSKeyedArchiver 保存我自己的对象?

我在使用 NSKeyedArchiver/NSKeyedUnarchiver 保存我的对象时遇到了问题。
我添加了方法- (id)initWithCoder:(NSCoder *)decoder- (void)encodeWithCoder:(NSCoder *)encoder. 问题是当我尝试保存它不能正常工作的对象时。
我可以想象一个问题(但我不确定这是否是问题;))。我的对象中有一些数组。它们包含更多对象(我也实现了两个“编码器”方法)。那么数组是否调用其对象中的方法?

任何可能的解决方案?

谢谢!!

0 投票
1 回答
514 浏览

iphone - NSKeyedUnarchiver 在解码数组后崩溃

我有一个非常令人沮丧的问题。
当我在解码 NSArray 后尝试释放 NSKeyedUnarchiver 对象时,会出现“EXC_BAD_ACCESS”错误。
但是当我不释放它或解码其他对象(例如 NSString)时,一切都很顺利。
我不明白......对我来说,看起来“decodeObjectForKey”方法改变了“解码器”对象中的某些内容(但并非总是如此?!)。而在调试器中,调用此方法后唯一改变的变量是“_replacementMap”。但我不知道如何修复这个错误。
我希望你能帮助我。
这是示例代码:

}

0 投票
1 回答
1828 浏览

iphone - NSKeyedArchiver 的问题

我仍然遇到 NSKeyedArchiver 的问题。我执行了我被告知要做的所有事情,但它仍然不起作用。我有点沮丧。那么有人可以帮我吗?

这是.h文件:

这是 .m 文件:

有人知道我做错了什么吗?

谢谢!!

0 投票
2 回答
239 浏览

iphone - iPhone 上的存档位置

我希望归档一些嵌套的 NSDictionary 对象,以便能够在下次启动时使用其中的数据。为此,我打算使用[NSKeyedArchiver archiveRootObject: toFile: ]但不确定将文件放在哪里。在归档文档中,示例将文件放入其中,NSTemporaryDirectory()但对于持久数据,临时目录似乎没有多大意义。我环顾四周,但找不到最好的放置位置,除非NSDocumentDirectory是供此类应用程序使用?