我正在开发我的第一个 cocoa/Objective-C 应用程序,所以如果我做的事情明显不正确,请多多包涵。我将应用程序设置为将窗口上 NSTextField 中的任何内容复制到另一个 NSTextField(在本例中为标签)。如果用户没有在文本框中输入任何内容,它应该显示警报,但事实并非如此。我的代码有什么问题?
AppDelegate.m:
#import "AppDelegate.h"
@implementation AppDelegate
@synthesize window = _window;
@synthesize textBox1 = _textBox1;
@synthesize label1 = _label1;
- (void)dealloc
{
[super dealloc];
}
-(IBAction)setLabelTxt: (id)sender{
if(_textBox1.stringValue != @"")
[_label1 setStringValue: _textBox1.stringValue];
else{
NSAlert* msgBox = [[[NSAlert alloc] init] autorelease];
[msgBox setMessageText: @"You must have text in the text box."];
[msgBox addButtonWithTitle: @"OK"];
[msgBox runModal];
}
}
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
// Insert code here to initialize your application
}
此外,是否有关于 Cocoa UI 元素使用的方法的指南(如命名方案)?我使用 .NET 风格的 GUI 编程。@结尾