【发布时间】:2014-07-13 23:12:40
【问题描述】:
我有一个User 类,它有一些属性,例如姓名、电子邮件、位置。我还有另一节课
称为Post,它具有一些属性,例如title、content和poster,它是User的一个实例。
有一个 ViewController,在视图控制器内部有一个 PostDetailView 用于显示帖子的详细信息。现在视图控制器有一个 post 对象,我需要将一些值传递给PostDetailView。我有两个选择:
- 通过初始化器传递整个
post对象,这意味着PostDetailView有一个方法-initWithFrame:post。一旦视图获得了帖子对象,它就可以获取帖子中的所有数据。 -
PostDetailView有一些setter方法,如setTitle:、setContent、setPosterName等。Initializer只初始化view的frame,然后使用setter传值。
选项 1 可以在视图控制器中节省大量工作,但可能会增加耦合。选项 2 具有更好的结构(我认为),但需要在视图和视图控制器中进行额外的工作。因此,我的问题是哪一个在架构方面更好?
【问题讨论】:
标签: ios objective-c loose-coupling