什么是存储标签的字体信息在可可触摸以下的MVC模式的最佳实践?哪里存储标签字体信息 - 在模型或视图?
在我的数据模型,我想存储由一个自定义视图UILabel
小号显示的信息。很明显的是,标签文本属于数据模型。但是我应该在哪里存储相应的字体(并且在我的情况下也是彩色的)信息?它们“属于”数据模型还是属于视图?
我问原因是这样的:如果我只是UIFont
类的属性添加到我的数据模型,我将序列化和复制我的数据(因为UIFont
没有实现NSCoding
和NSCopying
协议)时遇到了麻烦,而我通常用于我的数据模型的其他类则可以。 (这个问题不存在UIColor
,因为一个已经拥有NSCoding
并且可以轻松地添加NSCopying
,尽管人们仍然可以问,如果颜色应该“属于”的数据模型。)
一般来说,我想是能够序列化我的数据模型的所有属性,这似乎是MVC中非常常见和普遍的模式。当然,我也可以写一个字体信息的抽象,而不是直接使用UIFont
作为我的数据模型中的一个属性。但是我想知道在这种情况下,iOS上MVC的最佳实践使用情况。
更新:感谢您的答案。在我认为将字体信息存储在模型中的情况下,我决定采用“样式模型”实现。为了克服上面提到的困难,我简单地为两个类别编写了类别,请参阅this link。