2011-04-07 51 views
0

我是Objective-C iPhone編程的新手。我有點想用這個方法的試錯法:P。所以我的問題與獲得一個名字有關。這裏是我的代碼:關於HelloWorld的幫助Objective-C

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

這樣做是得到一個的UITextField文本(我已經有這個設置),並輸出到一個UILabel。我認爲這會起作用,但顯然不是,因爲它只輸出「你好」。缺少名字。幫助將不勝感激:)

感謝,

埃裏克

編輯:感謝所有的迴應。有效! :)

回答

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

您必須添加%@,所以它會把你的名字的字符串在格式化的字符串中。

1

你需要一個格式說明:

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

的%@格式說明符的意思是 「一個NSObject參考」。要格式化其他數據類型 - int,double等,你應該使用%d,%f等等。