Tôi đang làm việc trên ứng dụng Cacao/Objective-C đầu tiên của mình, vì vậy hãy chịu với tôi nếu tôi đang làm điều gì đó rõ ràng là không chính xác. Tôi đã cài đặt ứng dụng để sao chép mọi thứ trong một NSTextField trên cửa sổ sang một NSTextField khác (trong trường hợp này là một nhãn). Nếu người dùng đã không nhập bất cứ điều gì vào hộp văn bản, nó sẽ hiển thị một cảnh báo, nhưng nó không phải là. Có gì sai với mã của tôi?Hộp NSAlert không hiển thị
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
}
Ngoài ra, là có bất kỳ hướng dẫn các phương pháp được sử dụng bởi các yếu tố Cocoa UI (như đặt tên chương trình)? Tôi đã sử dụng phong cách .NET của lập trình GUI. @end
Đối với câu hỏi thứ hai của bạn, Cocoa Naming/Nguyên tắc mã: http: // developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CodingGuidelines/ –