在iOS中访问对象图的其他部分中的对象
我正在使用iOS解决这个问题 我的班级结构如下:在iOS中访问对象图的其他部分中的对象,ios,objective-c,Ios,Objective C,我正在使用iOS解决这个问题 我的班级结构如下: ScheduleVC(带有UICollectionView)谁拥有 ScheduleCell(UICollectionViewCell)谁拥有 ScheduleDayTVC(UITableViewController)谁拥有 ScheduleDayCell(UITableViewCell)谁拥有 OrderDetailView(这是一个视图,也是ContentView的子视图) 5(OrderDetailView)中有一个操作需要调用1(S
顶级VC拥有一个UICollectionView,其布局类似于存折或提醒。每个单元格上都有一个带有自己控制器的TableView。此tableview中的每个UITableViewCell都有一个添加到其contentView的视图(5)。此视图有一个按钮,按下时需要联系1。您需要呼叫什么?它是执行某些业务逻辑还是更新UI的方法
在任何情况下,您都会得到一个不依赖于UI/VC结构的良好解耦的体系结构。首先,我想知道这些对象是什么样的子类(
UIViewController
,UIView
,NSObject
)。就我个人而言,我喜欢使用模型-视图-控制器设计格式,这将帮助您解决一些问题。(同时,Paul Hegarty教授在iTunes U上开设了涵盖此主题的课程)。
在您的设计模式中,有两件事与MVC模式相冲突,一旦修复,将真正帮助您解决问题
ScheduleVC who owns
ScheduleCell who owns // controller owns view, this checks out
ScheduleDayTVC who owns // view owns another view controller, does not check out
ScheduleDayCell who owns // controller owns view, would check out if the controller was not controlled by view higher up the chain.
OrderDetailView // view owns view, this checks out
我能给出的最大建议是,您应该切换到MVC模式,并坚持下去。它有助于以逻辑的方式组织一切。为什么与ScheduleVC对话需要另一个控制器(我假设ScheduleDayTVC是“表视图控制器”)拥有一个视图?我认为您需要重新配置设计的这一部分。让两名控制员互相要求做事;让视图只管理它的屏幕空间。我添加了一个编辑,也许可以增加一点清晰度。我还在我的“类结构”中添加了子类。我添加了子类,实际上是为了更新UI。我将查看NSNotification。然后查看本教程: