2011-04-07 44 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等等。