无法从文本字段读取和写入字符串

时间:2011-12-11 18:35:19

标签: objective-c xcode cocoa xcode4.2

我正在尝试在运行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,但我不确定我在这里做错了什么。

2 个答案:

答案 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 & "!"