我試圖設置一個NSTextField
的值,但它不能正常工作。設置NSTextField的值
我有一個鏈接到一個IBAction
一個按鈕,當我把它用self
設置,它工作正常:
#import <Foundation/Foundation.h>
@interface TestMessage : NSObject {
IBOutlet NSTextField *text;
}
- (IBAction) setMessage: (id) controller;
- (void) Message:(NSString *) myMessage;
@end
#import "TestMessage.h"
@implementation TestMessage
- (IBAction) setMessage: (id) controller {
// This works
[self Message:@"Hello"];
// but this doesn't
TestMessage * messageTest= [TestMessage new];
[messageTest Message:@"Hi"];
}
- (void) Message: (NSString *) myMessage {
[text setStringValue: myMessage];
NSLog(@"Message Was Called");
// This returns <NSTextField: 0x1001355b0> when called
// using self, but null when called the other way.
NSLog(@"%@", text);
}
@end
我搜索了一會兒,但還是可以」找到答案。
我想它與委託有關,但我不確定。
在此先感謝。
你是如何在init和didLoad方法中設置函數的?我們可以看到.h文件嗎? – Luke 2011-05-15 18:32:34