OGeek|极客世界-中国程序员成长平台

标题: iOS- 保存 View 属性 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 20:37
标题: iOS- 保存 View 属性

这似乎是一个奇怪的问题,但我想在我花几个小时尝试实现它之前先在这里问一下。 在我的应用程序中,我将 View 属性( subview 数量等)保存到 sqlite3 数据库。 在读回数据时,我想“将 View 存储在数据库中不会容易得多吗?”

那么,您认为使用类似 blob 类型的东西可能吗?

类似:

  1. 绑定(bind) blob 以插入
  2. view = sqlite3_column_blob(statement, 0); 检索

这听起来可行吗?我最关心的是知道插入和选择 View 的大小。这样的事情是可能的,还是因为太荒谬而没有记录在案?

谢谢!

然后拿出来



Best Answer-推荐答案


UIView 符合NSCoding,也就是说可以序列化和反序列化。这正是 nib 文件的工作方式。首先,查看Archives and Serializations Programming Guide .

序列化 UIView 的一种简单方法如下:

NSData *data = [NSKeyedArchiver archivedDataWithRootObject:view]

然后你可以用任何方便的方式写出data

要反序列化 View ,请使用:

UIView *view = [NSKeyedUnarchiver unarchiveObjectWithData:data];

这将创建整个 View 层次结构的新副本。

注意 UIView 只序列化它自己的属性。如果您将 UIView 子类化并想要序列化其他属性,则需要覆盖 encodeWithCoder:initWithCoder: 以添加您的属性。这在 Encoding and Decoding Objects 中有详细说明.

关于iOS- 保存 View 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8318794/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4