2011-08-26 51 views
1

我是Obj-C和Xcode 4的初学者,目前我正在浏览Mac Dev网站上的"Your First Mac Application"。我已经设法通过了主要部分,但我在“重构应用程序委托”部分挣扎。重构应用程序代表

我已经创建了一个新类(用作控制器),添加了一个设置到这个新类的对象,从类到滑块,静音按钮和文本字段的连接,并且我已经连接了新的类对象到应用程序委托接口文件。

不幸的是,一个track类的实例从未被创建过,因此程序不能工作,因为awakeFromNib函数永远不会被调用。我已经尝试将它放在应用程序委托文件和新的控制器类中。

我要去哪里错?

回答

0

您必须在IB中创建新类的实例,或者需要在AppDelegate对象中(通常在init或awakeFromNib中)以编程方式创建它。你需要在AppDelegate中有一个指向该对象的指针。如果您在IB中创建新对象,则将其连接到IB中的Track *指针。如果你在代码中做到这一点,它是这样的:

在.h文件中:

TrackClass *track; 

在.m文件:

track = [[Track alloc] init]; 

哪个做了什么?

+0

因为我的原始消息实际上是通过放置在我的控制器类的init中来实现的,但是本教程建议我应该在应用程序委托中使用awakeFromNib,但似乎并未调用它。 –

0

我在试教程同样的问题,发现问题是我的执行的awakeFromNib

错误代码:

- (void)awakeFromNib:(NSNotification *)aNotification 

正确的代码

- (void)awakeFromNib 

应该没有参数通过执行awakeFromNib