无法从我的班级获得表格访问权限

时间:2011-04-29 11:59:23

标签: objective-c cocoa

#import <Foundation/Foundation.h>

@interface MyClass : NSObject {
@private
    IBOutlet NSTextField *tf;
}
- (void)setStr;

@end

===========================================

#import "MyClass.h"

@implementation MyClass

- (id)init
{
    self = [super init];
    if (self) {
        // Initialization code here.
    }

    return self;
}

- (void)dealloc
{
    [super dealloc];
}

- (void)setStr
{
    [tf setStringValue:@"aaaaaaaaa"];
}

@end

从我的AppDelegate类调用方法

- (IBAction)test1:(id)sender
{
     MyClass *m = [[MyClass alloc] init];
     [m setStr];
}

我在.xib文件中创建了一个MyClass对象。我将文本字段的出口与表单上的文本字段相关联。 按下按钮时没有动作。 哪里我错了?

1 个答案:

答案 0 :(得分:0)

您需要在AppDelegate中为MyClass创建一个插座并将其连接起来,然后在test1中使用该插座而不是创建新实例。这个guide from Apple可以帮到你。

另一种可能性是将test1操作放入MyClass并按下按钮直接调用,或者使setStr成为IBAction。这些是可能的,因为您的XIB中有一个MyClass实例。