2012-06-14 3 views
0

"Hello, World"앱을 배우는 중입니다. 그러나 나는 질문이있다. 결과를 "세계, 안녕하세요"라고 읽으면서 코드를 변경하고 싶지만 잘못하고있는 부분을 알아낼 수 없습니다.Objective-C - Hello World 앱 수정

여기에 원래의 코드입니다 :

- (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; 
} 

그러나 그것은 여전히 ​​작동하지 않았다. 나는 그 일을하기 위해 무엇을 할 것인가? 당신이 @"%@, Hello!""%@" 다음과 같은 문자열 nameString가 그래서 우리 @"%@, Hello!" 그것에 의해 대체 될 것을 나타냅니다 쓸 때

+0

나는 물어야한다, 그 IBAction가 연결되어 있는가? – CodaFi

답변

5

변경이 줄을

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

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

initWithFormat하려면, 장소 홀더를 사용하여 우리 실제로 @"nameString, Hello!"을 의미합니다 (예 : nameString은 World 임)

+0

이것은 나에게 의미가 있습니다. 고맙습니다! – user1457161