0

「Hello, World」アプリの使い方を学んでいます。しかし、質問があります。結果が "World, Hello" と表示されるようにコードを変更したいのですが、何が間違っているのかわかりません。

元のコードは次のとおりです。

- (IBAction)changeGreeting:(id)sender {

self.userName = self.textField.text;

NSString *nameString = self.userName;
if ([nameString length] == 0) {
    nameString = @"World";
}
    NSString *greeting = [[NSString alloc] initWithFormat:@"Hello, %@!", nameString];
    self.label.text = greeting;
}

そして、次のように変更できればうまくいくと思いました:

- (IBAction)changeGreeting:(id)sender {

self.userName = self.textField.text;

NSString *nameString = self.userName;
if ([nameString length] == 0) {
    nameString = @"World";
}
    NSString *greeting = [[NSString alloc] initWithFormat:nameString , @"Hello, %@!"];
    self.label.text = greeting;
}

しかし、それでもうまくいきませんでした。その仕事をするために私は何をしますか?

4

1 に答える 1

5

この行を変更

NSString *greeting = [[NSString alloc] initWithFormat:nameString , @"Hello, %@!"];

NSString *greeting = [[NSString alloc] initWithFormat:@"%@, Hello!", nameString];

initWithFormat、次の文字列がそれに置き換えられることを示すを書くときにプレースホルダーを使用@"%@, Hello!"します"%@"nameString@"%@, Hello!"@"nameString, Hello!"

于 2012-06-14T19:52:38.830 に答える