序列化/存储UIView及其子视图

3
我是一位相对较新的iOS开发者,之前的大部分经验都来自.NET。我的应用程序是一个画布系统,其中有一个父UIView,包含所有用户放置/调整大小等的对象作为子视图。我想能够将这些位置/配置保存到命名文件中。
在.NET中,我会简单地给UIView创建一个“title”属性的子类,然后将其序列化到文件中,然后反序列化以加载它们,但是在Cocoa中,我感到非常困惑。
最初,我认为可以使用NSCoding进行此操作,但这似乎不是多文件保存的好解决方案。
因此,我查看了Core Data,但我不知道如何创建现有Cocoa UIKit类(如UIView)的Core Data对象。
我花了一段时间搜索,并找不到任何有关这种困境的信息。我应该使用什么,以及最佳方法是什么?
1个回答

4

你可能可以使用NSKeyedArchiver来完成,因为UIView实现了NSCoding。然而,更符合MVC设计的方式是让用户通过移动视图来操作数据模型。要保存,您需要归档模型而不是视图本身。


2
我同意 - 将存档视图存储为模型并不是一个好主意。此外,如果您保存已归档的UIKit类,您可能会在用户更新操作系统时遇到问题,例如类发生更改,使您保存的数据不兼容。 - Michael Tyson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接