我不知道我错过了什么。我正试图使用 [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"。
是 user
UILabel?确保你的文字没有被包裹或被剪掉。试试把UILabel做大。
你需要尝试。
NSLog(@"In %@ by %@", category, logonUser);
检查问题!让我知道调试器控制台的结果XD。
代码看起来是正确的。
你有没有在类别变量中得到回车或额外的空白?如果是小标签,可能无法显示完整的字符串。试着把第三行的两个变量交换一下,看看输出是什么。
我很纳闷,输出中连 "by "都没有。我感觉是类别变量的值掩盖了文本。
这段代码的第一行有什么意义?它似乎与第三行无关?
你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
. 因为在我看来,它肯定是正确的。