NSString stringWithFormat

问题描述 投票:16回答:4

我不知道我错过了什么。我正试图使用 [NSString stringWithFormat] 功能。这就是我正在做的事情。

NSString *category = [row objectForKey:@"category"];
NSString *logonUser = [row objectForKey:@"username"];
user.text = [NSString stringWithFormat:@"In %@ by %@", category, logonUser];

这里的问题是,它总是只打印一个变量。比如说,如果在类别中有 "Sports",而在logonUser中有 "Leo",它将打印 "In Sports",并跳过剩下的文字。它应该打印 "In Sports by Leo"。

iphone nsstring stringwithformat
4个回答
15
投票

user UILabel?确保你的文字没有被包裹或被剪掉。试试把UILabel做大。


6
投票

你需要尝试。

NSLog(@"In %@ by %@", category, logonUser);

检查问题!让我知道调试器控制台的结果XD。


1
投票

代码看起来是正确的。

你有没有在类别变量中得到回车或额外的空白?如果是小标签,可能无法显示完整的字符串。试着把第三行的两个变量交换一下,看看输出是什么。

我很纳闷,输出中连 "by "都没有。我感觉是类别变量的值掩盖了文本。


0
投票

这段代码的第一行有什么意义?它似乎与第三行无关?

你100%确定category和logonUser在代码中都被填充了吗?也许在user.text =行之后放一个NSLog语句,确保它们有你期望的值,因为你的第三行看起来很好。

编辑

我会尝试改变

user.text = [NSString stringWithFormat:@"In %@ by %@", category, logonUser];

user.text = [NSString stringWithFormat:@"In %@ by %@", @"category", @"logonUser"];

看看是否能输出 In category by logonUser. 因为在我看来,它肯定是正确的。

© www.soinside.com 2019 - 2024. All rights reserved.