访问cocoa接口构建器控制器方法

时间:2011-07-29 19:12:09

标签: objective-c cocoa

所以我有一个使用控制器类的objective-c项目。这通过IBOutlets与接口构建器连接。

我的理解是控制器通过加载用户界面来初始化(因为它作为对象添加到界面构建器中)。然后我想使用控制器的getter方法返回IBOutlet字段中的值。

所以,为了澄清我对某些代码的意思,这里是我的控制器接口/实现:

@interface controller : NSObject {
@private
IBOutlet NSTextField *name;
}   
-(NSString*) name;
@end

然后,在我的实施中,我有:

-(NSString*) name
{
    return [name stringValue];
}

在第三节课中,我希望能够写下:

NSString blahblah = [controller name] and have the value of blahblah assume the value of whatever is in the controller's IBOutlet "name" field.

希望这是有道理的。当我尝试这样做时,我得到“Semantic Issue:Method'+ name'not found(返回类型默认为'id')”

为什么呢?控制器对象在哪里实际得到证实?在哪里,以及如何访问它的字段?

1 个答案:

答案 0 :(得分:2)

您必须使用[[controller alloc] initWithNibName:nibName bundle:nil]来实例化控制器;

只需使用[控制器名称]即可调用类方法。它也应该是NSString * blahblah

您应该阅读本文档: http://developer.apple.com/library/ios/#referencelibrary/GettingStarted/Learning_Objective-C_A_Primer/_index.html#//apple_ref/doc/uid/TP40007594