我终于从Objective-C切换到Swift。我为我的客户创建一个视图布局系统,使他们的应用程序在布局上更加灵活,而不使用自动布局,因为他们想要远程设计他们的屏幕,而自动布局对他们来说太复杂了。我试图用structs
和protocols
来做到这一点,但我发现它很笨拙,所以我怀疑我没有正确的想法。Swift:结构,或不结构
随着类,该结构将是如下:
class ViewModel {
var frame: CGRect = .zero
}
class ViewGroupModel: ViewModel {
var weight: Int = 1
var children:[ViewModel] = [ViewModel]()
}
class HorizontalViewGroupModel: ViewGroupModel {
}
class VerticalViewGroupModel: ViewGroupModel {
}
我试图通过定义一个ViewModel
协议与协议接近它,和一个ViewGroupModel
协议,但我发现它创建了大量重复的(属性)。有更好的方法吗?在这种情况下使用类是否被认为是一种好的做法?
编辑:如果最好不要使用类,我正在寻找一个答案,给我一个具体的解决方案,在structs
和protocols
方面。
“在这种情况下使用类是否被认为是一种好的做法?” - 我会说“是”,因为那样您就可以使用ObjectMapper将JSON对象映射到您的模型 –
请注意,CGRect已经实现了您的模型。 – Sulthan
@mag_zbc仅仅因为你想使用一个库而改变设计就像是最糟糕的原因。 – Sulthan