0

初心者向け質問:

a、e、i の文字を表す 3 つのボタンがあります。ボタンを押すと、対応する文字がラベルに表示されます。そのため、各ボタンを 1 回押すと、ラベルに「aei」と表示されます。以下に私のコードを添付してください。ボタンを 3 回押すと、ラベルには最後に押されたボタンの文字のみが表示されます。私は何を間違っていますか?ご協力ありがとうございました!


#import "SecondViewController.h"


NSMutableString *stringLabel;


@interface SecondViewController ()
@end

@implementation SecondViewController




-(IBAction)type_a:(id)sender;{
[stringLabel appendString: @"a"];
NSLog(@"stringLabel is set to: %@", stringLabel);
label.text = stringLabel;


}

-(IBAction)type_e:(id)sender;{
[stringLabel appendString: @"e"];
NSLog(@"stringLabel is set to: %@", stringLabel);
label.text = stringLabel;


}

-(IBAction)type_i:(id)sender;{
[stringLabel appendString: @"i"];
NSLog(@"stringLabel is set to: %@", stringLabel);
label.text = stringLabel;


}
4

2 に答える 2

0

NSMutableString をどこで初期化しているのかわかりませんが、これが欠けている可能性があります。

stringLabel = [[NSMutableString alloc] init];

そのコードをviewDidLoadに入れると、コードが正しいので機能するはずです。

また、ラベルとviewControllerの間の接続をどこに設定していますか? 見えない

@property (weak, nonatomic) IBOutlet UILabel *label;

それもチェック

于 2013-10-28T13:35:49.980 に答える