我有一个关于 NSString 的相当简单的问题,但它似乎没有做我想要的。
这就是我所拥有的
NSString *title = [NSString stringWithformat: character.name, @"is the character"];
这是我的解析器中的一行将字符名插入到 plist 中,但是它没有插入 @"is the character" 我做错了什么吗?
我有一个关于 NSString 的相当简单的问题,但它似乎没有做我想要的。
这就是我所拥有的
NSString *title = [NSString stringWithformat: character.name, @"is the character"];
这是我的解析器中的一行将字符名插入到 plist 中,但是它没有插入 @"is the character" 我做错了什么吗?
你的代码是错误的。它应该是 :
NSString *title
= [NSString stringWithformat:@"%@ is the character", character.name];
假设 character.name 是另一个NSString
.
阅读Cocoa 字符串编程指南的格式化字符串对象段落,了解有关格式化字符串的所有内容。
stringWithFormat
将格式字符串作为第一个参数,因此,假设character.name
是您的角色名称,您需要:
NSString *title = [NSString stringWithformat: @"%s is the character",
character.name];
您所拥有的是作为格式字符串的字符名称,因此,如果是,@"Bob"
那么Bob
您将得到什么。如果是这样"@Bob %s"
,那会起作用,但可能会在您只显示角色名称的其他地方塞满:-)
请注意,您应该使用"%s"
C 字符串,"%@"
如果 character.name 本身是 NSString ,我认为是正确的格式说明符。