我正在尝试在运行Xcode 4.2的Snow Leopard MacBook上创建一个Cocoa Objective-C程序。这就是我想做的事。
我有一个文本框,一个包装标签和一个按钮。当您在文本框中输入名称时,包装标签会显示"Have a merry merry christmas 'the name entered in the textbox'"
// AppDelegate.h
#import <Cocoa/Cocoa.h>
@interface AppDelegate : NSObject <NSApplicationDelegate>
{
IBOutlet id inputTextField;
IBOutlet id outputTextField;
}
@property (assign) IBOutlet NSWindow *window;
- (IBAction)pressMeButton:(id)sender;
@end
// AppDelegate.m
#import "AppDelegate.h"
@implementation AppDelegate
//Use the pressMeButton IBAction to tell the inputTextField to display on the outputLabelField
- (IBAction)pressMeButton:(id)sender;
{
char inputString = [inputTextField charValue];
char outputString = [outputTextField charValue:(@"Have a merry merry Christmas, %@", inputString)];
[outputTextField outputString];
}
@end
我尝试过NSString,但我不确定我在这里做错了什么。
答案 0 :(得分:4)
你很亲密,但同时也很远。将字符序列存储在char类型中没有任何意义,char类型用于单个char。另外,调用实际上是局部变量的消息是没有意义的。无论如何,这里有一些代码可以帮助你。
- (IBAction)pressMeButton:(id)sender;
{
[outputTextField setStringValue:
[NSString stringWithFormat:@"Have a merry merry Christmas, %@",
[inputTextField stringValue]]];
}
请务必阅读介绍性文档和StackOverflow faq,以了解如何以预期格式提问。
答案 1 :(得分:1)
或者你可以用AppleScript编写它:
set nameReturned to the text returned of (display dialog "Name:" buttons {"OK"} default button 1 default answer "" with icon 2)
display dialog "Happy Christmas " & nameReturned & "!"