问题标签 [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 投票
1 回答
301 浏览

objective-c - 此代码可以与自定义对象数组一起使用吗?

如果我使一组自定义对象符合 NSCoding 协议,那么上述方法是否有效?我是否必须使自定义类和包含自定义对象数组的视图控制器都符合 NSCoding 协议或只是自定义类?我必须在某处使用 NSKeyedArchiver 吗?

0 投票
1 回答
173 浏览

objective-c - 如何将此数组加载到内存中

我使用以下代码保存了一个数组:

将其加载回内存的代码是什么?

0 投票
1 回答
2335 浏览

ios - NSArchiver 与 NSKeyedArchiver

你怎么知道你是否需要使用NSArchiveror NSKeyedArchiver?有什么不同?

0 投票
2 回答
542 浏览

objective-c - 我需要使用 NSKeyedArchiver 吗?

我有一个对象。它只有两个 NSStrings 作为属性。

我创建了一个数组来保存其中的几个对象。

我是否需要使用 NSKeyedArchiver 将此数组保存到磁盘,或者我可以只使用 NSUserDefaults?

0 投票
2 回答
17254 浏览

objective-c - NSKeyedArchiver archivedDataWithRootObject:

NSKeyedArchiver archivedDataWithRootObject: 的参数应该是我要保存的数组,还是转换为 NSData 的数组?

0 投票
1 回答
840 浏览

objective-c - encodeWithCoder 没有被调用

我有一个符合 NSCoder 的对象(testSession),当我使用时:

它有:

并具有 encodeWithCoder: 和 initWithCoder: 功能。两者都没有被调用。什么会阻止这种情况?

这些是否需要在标题中声明?

0 投票
1 回答
172 浏览

iphone - NSKeyedArchiver 的默认目录

我正在使用 NSKeyedArchiver 来保存对象。我没有在 path 参数中写出完整的路径,所以我的文件被写入 Apple iPhone 模拟器的某个地方。

我的文件要去哪个目录?

谢谢!

0 投票
3 回答
9210 浏览

iphone - 使用 NSKeyedArchiver 将 NSMutableArray 保存到 NSUserDefaults

我无法检索包含自定义对象的已保存 NSMutableArray。应用程序崩溃并且控制台报告http://pastie.org/1226822。这是我的对象 .h 文件http://pastie.org/1226823。这是我的对象 .m 文件http://pastie.org/1226826。这是我保存数据的方法http://pastie.org/1226830。这是我检索数据的方式http://pastie.org/1226831。提前致谢。

0 投票
1 回答
481 浏览

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

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

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

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

谢谢!

0 投票
1 回答
141 浏览

iphone - NSKeyedUnarchiver + UITableViewController 无法正常工作

我正在尝试使用 NSKeyedArchiver 来存储我的 UITabBarController 的状态。选项卡内是包含 UITableViewControllers 的 UINavigationControllers。

归档似乎没有任何问题。

取消归档时,我的 UITableViewControllers 遇到了奇怪的问题。initWithCoder: 被正确调用,我在里面做的第一件事就是调用 [super initWithCoder:]

tableView 似乎已正确重新创建,并且已设置委托和 dataSource 属性。如果我的 initWithCoder: 除了调用 super 并返回 self 什么都不做,那么我的表格视图最终为空并且我的委托方法不会被调用。如果我连接 self.tableView 的委托和 dataSource 属性,我可以正确看到我的内容,但是在选择时不会调用 didSelectRowAtIndexPath,并且在一个实例中,我无法滚动直到重新加载 tableView。

如果在 initWithCoder: 我创建一个新的 UITableView 一切正常,但我不相信我应该这样做。

我是在做我不应该尝试做的事情,还是我遗漏了一些明显的东西,我需要添加以使事情正常工作?

更新:在我的控制器内设置self.tableView = [decoder decodeObjectForKey:@"tableView"]似乎解决了滚动/选择问题,但生成的 tableView 始终是 UITableViewStylePlain 并且似乎仍然是错误的事情,因为已经设置了属性。