我只是一个相当简单的应用程序的开始(尚未真正包含在 objective-c 中),其NSWindow包含一个NSTextField。 appdelegate.h具有以下功能:
NSWindow *window;
NSTextField *userIDText;
@property (nonatomic, retain) IBOutlet NSWindow *window;
@property (nonatomic, retain) IBOutlet NSButton *nextButton;
@property (nonatomic, retain) IBOutlet NSTextField *userIDText;
appdelegate在Interface Builder中连接到窗口和文本字段,然后在.m文件中:
@synthesize userIDText;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
[userIDText setStringValue:@"user"];
NSLog(@"UserIDTextString: %@", [userIDText stringValue]);
(除了字符串@@ user外,我还尝试了其他方法)
日志仅显示(空),并且文本字段未更改。我究竟做错了什么?我现在在互联网上搜索了大约5小时,这显然是我非常想念的事情。
最佳答案
在加载窗口之前,将调用applicationDidFinishLaunching
方法。这就是为什么NSLog(@"UserIDTextString: %@", [userIDText stringValue]);
输出null且无法设置文本字段的值的原因。尝试使用awakeFromNib
方法。
关于objective-c - NSTextField不会setStringValue,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6669102/