这似乎是一个奇怪的问题,但我想在我花几个小时尝试实现它之前先在这里问一下。 在我的应用程序中,我将 View 属性( subview 数量等)保存到 sqlite3 数据库。 在读回数据时,我想“将 View 存储在数据库中不会容易得多吗?”
那么,您认为使用类似 blob 类型的东西可能吗?
类似:
view = sqlite3_column_blob(statement, 0);
检索这听起来可行吗?我最关心的是知道插入和选择 View 的大小。这样的事情是可能的,还是因为太荒谬而没有记录在案?
谢谢!
然后拿出来
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 |