NSString stringWithFormat

时间:2010-04-29 19:26:38

标签: iphone nsstring stringwithformat

我不知道我在这里缺少什么。我试图使用[NSString stringWithFormat]函数连接字符串。这就是我在做的事。

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

这里的问题是它总是只打印一个变量。假设在类别中有“体育”,在登录用户中有“狮子座”,它将打印“在体育中”并跳过剩余的文本。它应该打印“Leo中的体育运动”。

4 个答案:

答案 0 :(得分:15)

user是UILabel吗?确保文本没有包装或被剪裁。尝试使UILabel更大。

答案 1 :(得分:6)

您需要尝试:

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

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

答案 2 :(得分:1)

代码看起来是正确的:

您是否有机会在类别变量中获得回车或额外的空白?如果是小标签,则可能无法显示完整的字符串。尝试交换第三行中的两个变量,看看输出是什么。

令我感到困惑的是,输出中甚至缺少“by”。我感觉类别变量的值掩盖了文本。

答案 3 :(得分:0)

这段代码的第一行是什么意思?这似乎与第3行无关?

您是否100%确定代码中是否填充了类别和logonUser?也许在user.text = line之后放置一个NSLog语句,并确保它们具有您期望的值,因为您的第3行看起来很好。

修改

我会尝试更改

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

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

并查看是否输出In category by logonUser。因为它看起来对我来说是正确的。