我不知道我在这里缺少什么。我试图使用[NSString stringWithFormat]
函数连接字符串。这就是我在做的事。
NSString *category = [row objectForKey:@"category"];
NSString *logonUser = [row objectForKey:@"username"];
user.text = [NSString stringWithFormat:@"In %@ by %@", category, logonUser];
这里的问题是它总是只打印一个变量。假设在类别中有“体育”,在登录用户中有“狮子座”,它将打印“在体育中”并跳过剩余的文本。它应该打印“Leo中的体育运动”。
答案 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
。因为它看起来对我来说是正确的。