在代码中以nib设置的类之间进行通信?

时间:2010-06-12 09:54:13

标签: iphone objective-c model-view-controller uiviewcontroller nib

初学者的问题:

如果在您的nib中,您将File's Owner链接到ViewController类,并且您还有一个NSObject派生类,那么如何在ViewController类和代码中的NSObject类之间进行通信?

例如,假设ScientificCalculatorView.xib看起来像这样

File's Owner  (class: ScientificCalculatorViewController)
FirstResponder
View
Calculator  (an object that has been linked to the Calculator class)

显然,我希望Calculator可以重用,因此它可以与NormalCalculatorViewController或类似的东西一起使用。因此UI和计算器代码是分开的。计算器甚至需要在笔尖中吗?

这是一个初学者的问题,但我只是试着理解它。

1 个答案:

答案 0 :(得分:1)

有两种方法(至少)可以解决这个问题:

  1. 在您定义的ScientificCalculatorViewController中设置一个插座: IBOutlet计算器*计算器;或类似的东西。在IB中将该插座连接到您的Calculator对象。然后,您就可以在ScientificCalculatorViewController中引用它。

  2. 在 - (void)viewDidLoad {}方法中,以编程方式分配和初始化Calculator并将其设置为ScientificCalculatorViewController中的属性。在这种情况下,您可以从NIB中删除该对象。