这很好用,我们都知道:
NSString *textoutput = @"Hello";
outLabel.text = textoutput;
但是,如果要在NSString
语句中包含变量,如下所示:
NSString *textoutput =@"Hello" Variable;
在C ++中,我知道当我cout
时,我想要包含一个变量,我所做的就像这样:
cout << "Hello" << variableName << endl;
所以我试图用Objective-C来实现它,但我不知道如何。
答案 0 :(得分:15)
您可以使用以下功能进行一些奇特的格式化:
NSString *textoutput = [NSString stringWithFormat:@"Hello %@", variable];
请注意,%@
假定variable
是Objective-C对象。如果它是C字符串,请使用%s
,如果是其他任何C类型,请查看printf
引用。
或者,您可以通过将字符串附加到现有字符串来创建新字符串:
NSString *hello = @"Hello";
NSString *whatever = [hello stringByAppendingString:@", world!"];
请注意NSString
是不可变的 - 一旦指定了值,就无法更改它,只能派生新对象。如果您要在字符串中添加很多内容,则应该使用NSMutableString
代替。
答案 1 :(得分:5)
我有你正在寻找的治疗,罗伯特史密斯:
如果你的变量是一个对象,请使用:
NSString *textOutput = [NSString stringWithFormat:@"Hello %@", Variable];
'%@'仅适用于对象。对于整数,它是'%i'。
对于其他类型,或者如果您希望对其生成的字符串更具体,use this guide