如何在视图控制器导入的类中引用视图控制器?

时间:2012-09-17 01:18:19

标签: iphone objective-c xcode

我的应用中有两个类GHHaikuNSObject的子类)和GHViewController,导入GHHaiku。在GHViewController中,我实例化GHHaiku,如此:

@property (nonatomic, strong) GHHaiku *ghhaiku;

因此,当我需要在GHHaiku中调用来自GHViewController的方法时,我可以[self.ghhaiku callThisMethod];

但是,如果GHHaiku需要来自GHViewController的信息,我无法弄明白该怎么做。例如,UISegmentedControl中有一个GHViewControllerGHHaiku中有一个方法需要知道UISegmentedControl的哪个部分已被选中。我如何获得这些信息?我想我可以在int中创建GHHaiku属性,然后在GHViewController中将UISegmentedControl的值分配给该属性,但这看起来很麻烦,我可以'想象一下,没有更优雅的方式去做。

那我该怎么办?

(我怀疑Refer to a main view controller property by another class可能会回答我的问题,但我还不够先进,无法理解给出的答案。)

1 个答案:

答案 0 :(得分:1)

这是一个架构问题,可以从考虑separation of concerns中获益,并且更明显地沿着MVC(模型/视图/控制器)线分解。请参阅有关Cocoa MVC能力的this

GHHaiku是模型对象吗?如果是这样,那么它不应该真正“知道”视图层中发生的事情。