2011-04-07 5 views
0

저는 Objective-C iPhone 프로그래밍에 익숙하지 않습니다. 시행 착오적 인 방법으로 이것에 대해 좀 알아볼 것입니다 : P. 그래서 내 질문은 이름을 얻는 것과 관련이 있습니다. UILabel의에HelloWorld Objective-C에 대한 도움

-(IBAction)sayHello:(id)sender{ 
NSString *name = [textField text]; 
label.text = [NSString stringWithFormat:@"Hello ", name]; 

이것이 않는 것은의 UITextField의 텍스트를 얻을 것이다 (나는 이미이 설정을 가지고) 출력 : 여기에 내 코드입니다. 나는 이것이 효과가있을 것이라고 생각하지만, 분명히 "Hello"를 출력하기 때문에 분명히 아니다. 이름이 없습니다. 도움을 주시면 감사하겠습니다 :)

감사합니다,

에릭

편집 : 응답이 모두에게 감사를. 그것은 효과가있다! :)

답변

1

읽어야

label.text = [NSString stringWithFormat:@"Hello %@", name]; 

stringWithFormat

는 구축 년대 문자열에 값을 삽입하는 "%"시퀀스를 사용합니다. 삽입 할 값의 유형에 따라 다른 "%"시퀀스를 사용합니다. "% @"는 Objective-C 개체 용이고 "% d"은 정수 용입니다. 당신은 예를 들어, 여러 "%"시퀀스를 사용하여 여러 값을 삽입 할 수 있습니다

label.text = [NSString stringWithFormat:@"Hello %@ %@ and your %d friends", firstName, lastName, 7]; 
1

이 시도 :

[NSString stringWithFormat:@"Hello %@", name]; 
1
-(IBAction)sayHello:(id)sender{ 
    NSString *name = [textField text]; 
    label.text = [NSString stringWithFormat:@"Hello %@", name]; 
} 

그것을 당신의 이름 문자열을 배치 할 수 있도록 당신은 %@를 추가해야 서식이 지정된 문자열 @ 형식 지정자 "는 NSObject의 기준"을 의미

label.text = [NSString stringWithFormat:@"Hello %@", name]; 

을 % :

1

당신은 형식 지정이 필요합니다. 다른 데이터 유형 (int, double 등)을 포맷하려면 % d, % f 등을 사용해야합니다.