#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对象。我将文本字段的出口与表单上的文本字段相关联。 按下按钮时没有动作。 哪里我错了?
答案 0 :(得分:0)
您需要在AppDelegate中为MyClass创建一个插座并将其连接起来,然后在test1中使用该插座而不是创建新实例。这个guide from Apple可以帮到你。
另一种可能性是将test1
操作放入MyClass
并按下按钮直接调用,或者使setStr
成为IBAction。这些是可能的,因为您的XIB中有一个MyClass
实例。