问题标签 [nscoder]

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

ios - iOS:缓存下载的 RSS 消息的最佳方式

我正在实现 iPhone 的 RSS 阅读器的基本功能。我下载了一堆短消息并以列表的形式显示给用户。每条消息都封装在一个 MyMessage 对象中,该对象包含标题、正文、url 等。

我想确保缓存 20 条最新消息。做这个的最好方式是什么?我是否应该使用密钥存档,并且只让 MyMessage 类实现 NSCoding 协议。如果我选择这种方法,我可以将新消息附加到包含存档的文件中(同样,当消息计数超过 20 条时,我可以删除旧消息)吗?

本质上我的问题是:使用密钥存档是正确的方法吗?如果是这样,我如何根据需要从存档中附加/删除消息?

谢谢!

0 投票
1 回答
313 浏览

load - 使用 NSCoder 加载游戏状态?

如何使用 NSCoder 加载我保存(或尝试保存)的项目?我正在使用 cocos2d 框架。这是我用来保存东西的方法。

我收到警告说“numberWithInt”的传递参数 1 从指针中生成整数而不进行强制转换。

0 投票
0 回答
1080 浏览

key - 我可以获得 NSKeyedUnarchiver 的所有密钥吗?

我想用这些步骤做点什么:

  1. 用 NSKeyedArchiver M 编码一种对象 A,我可以得到一个 NSData X。
  2. 用 NSData X 中的 NSKeyedUnarchiver N 初始化另一种对象 B。A 和 B 的名称相同,所以有可能(我做过实验)。
  3. 然后我想对 B 进行编码,但我不知道 B 是否丢失了 X 的一些数据,因为 A 和 B 可能具有不同数量的属性。

所以我想从 N 中获取所有键和值。我该怎么做呢?

我不太了解 NSKeyedUnarchiver,请帮助我。

0 投票
2 回答
11121 浏览

iphone - 使用 NSCoder 保存自己的类

我正在尝试将一些自定义类/数据存储到我的 iPhone/iPad 应用程序中的文件中。

我有一个类 RSHighscoreList

其中包含列表中 RSHighscore 的对象

当我尝试将所有内容存储到文件时

该应用程序将崩溃并显示错误消息

/blockquote>

我想知道为什么错误会告诉 RSHighscore,即使它是“包装的”。有人有好主意吗?

0 投票
1 回答
276 浏览

objective-c - .pbxproj 格式使用哪个 NSCoder?

在 .xcodeproj 包中,主要项目数据实际上存储在 .pbxproj 文件中。很明显这是一个存档字典,但我一直没能找到 Apple 使用了哪个编码器?它是 的自定义子类NSCoder,还是记录在案并且我看起来不够努力?

0 投票
1 回答
494 浏览

iphone - NSKeyedArchiver 只编码数组的一部分

我有一个有时会更改的对象列表,并且我想在应用程序关闭或移至后台时在设备上保留一个持久缓存。列表中的大多数对象都不会改变,所以我想知道保存列表的最佳方法是什么。我有两个主要的选择:

  1. 使用 NSKeyedArchiver / unArchiver - 这是最方便的方法,因为我正在序列化的对象包含其他自定义对象,因此我可以为每个对象编写自定义编码方法。主要问题是我在谷歌上没有找到如何仅序列化更改的对象,并且每次序列化整个列表似乎非常浪费。

  2. 使用 SQLite - 这是我目前正在使用的,这里最糟糕的问题是添加 \ 更改对象的属性非常复杂,而且不太优雅。

有什么方法可以让我享受 NSKeyedArchiver 的便利,但只序列化更改的对象?

0 投票
1 回答
281 浏览

iphone - 保存 UIView 以供下次启动(而不是图像)

我正在构建一个应用程序,UIViews其中有几个是根据用户输入动态生成的。这些UIViews可能包含标签、图像和文本。它们需要一些时间来生成,所以我希望用户能够在未来启动应用程序时快速加载它们,而不必再次重绘它们。一项要求是他们需要保持其交互状态,以便用户可以继续编辑它们。

我调查NSKeyedArchiver过,但这似乎不支持UIImage。另外,我不能将它保存为 PNG,因为我想保留它们的交互状态。

有没有办法做到这一点?

0 投票
1 回答
899 浏览

nscoder - 带有 NSString 的解码器崩溃了

我有一个保存分数的课程:

在我的 GameLayer 中,我调用保存分数,如下所示:

以及保存数据的代码:

并且数据已正确保存...

然后我尝试从 plist 中读取数据:

但是应用程序在这里崩溃了:

说:[4011:207] -[NSCFString string]:无法识别的选择器发送到实例 0x544dd10 [4011:207] *由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[NSCFString string]:无法识别的选择器发送到实例 0x544dd10 '

谁能帮我离开这里。谢谢^_^

0 投票
1 回答
1130 浏览

iphone - 如何使用 NSCoder 通过蓝牙传输图像和字符串?

我想使用 NSCoder 并通过蓝牙传输带有单个 NSData 的 NSString 和 UIImage

你可以简单地说,“我想通过蓝牙发送包含 UIImage 和 NSString 的 NSData”

帮帮我,,,

这是一个非常复杂的问题,两天以来我一直被困在这里:-(

0 投票
1 回答
329 浏览

objective-c - 检查ipod音乐是否播放问题

我想检查是否播放了 ipod 音乐,所以我添加了 mediaplayer 框架并导入了它:

然后我有一个NSCoder:

但这不起作用。如果 ipod 音乐正在播放并且我启动应用程序,则 ipod 音乐将关闭并​​播放来自应用程序的音乐。

怎么了?