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

Objective c 序列化/存储UIView及其子视图,objective-c,cocoa,ios,core-data,nscoding,Objective C,Cocoa,Ios,Core Data,Nscoding,我是一个相对较新的iOS开发人员,以前的大部分经验都来自.NET。 我的应用程序是一个类似画布的系统,其中有一个父UIView,它包含用户正在放置/调整大小/等的所有对象作为子视图。我希望能够将这些位置/配置保存到命名文件中 在.NET中,我只需将UIView子类化,给它一个“title”属性,然后将其序列化到文件中,然后反序列化以重新加载,但在Cocoa中,我完全不知所措 最初我认为我可以使用NSCoding来实现这一点,但对于多文件保存来说,这似乎不是一个好的解决方案 所以我研究了核心数据,

我是一个相对较新的iOS开发人员,以前的大部分经验都来自.NET。 我的应用程序是一个类似画布的系统,其中有一个父UIView,它包含用户正在放置/调整大小/等的所有对象作为子视图。我希望能够将这些位置/配置保存到命名文件中

在.NET中,我只需将UIView子类化,给它一个“title”属性,然后将其序列化到文件中,然后反序列化以重新加载,但在Cocoa中,我完全不知所措

最初我认为我可以使用NSCoding来实现这一点,但对于多文件保存来说,这似乎不是一个好的解决方案

所以我研究了核心数据,但我不确定如何创建现有Cocoa UIKit类(如UIView)的核心数据对象

我花了一段时间在谷歌上搜索,找不到关于这种困境的任何信息。
我应该使用什么,最好的方法是什么?

您可能可以使用NSKeyedArchiver,因为UIView实现了NSCoding。然而,更面向MVC的设计是让用户通过移动视图来操作数据模型。要保存,您应该归档模型而不是视图本身。

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