1

我有一个关于 NSString 的相当简单的问题,但它似乎没有做我想要的。

这就是我所拥有的

NSString *title = [NSString stringWithformat: character.name, @"is the character"];

这是我的解析器中的一行将字符名插入到 plist 中,但是它没有插入 @"is the character" 我做错了什么吗?

4

2 回答 2

2

你的代码是错误的。它应该是 :

NSString *title 
    = [NSString stringWithformat:@"%@ is the character", character.name];

假设 character.name 是另一个NSString.

阅读Cocoa 字符串编程指南的格式化字符串对象段落,了解有关格式化字符串的所有内容。

于 2009-07-21T09:57:58.327 回答
0

stringWithFormat将格式字符串作为第一个参数,因此,假设character.name是您的角色名称,您需要:

NSString *title = [NSString stringWithformat: @"%s is the character",
    character.name];

您所拥有的是作为格式字符串的字符名称,因此,如果是,@"Bob"那么Bob您将得到什么。如果是这样"@Bob %s",那会起作用,但可能会在您只显示角色名称的其他地方塞满:-)

请注意,您应该使用"%s"C 字符串,"%@"如果 character.name 本身是 NSString ,我认为是正确的格式说明符。

于 2009-07-21T09:55:45.850 回答