Ответ 1
Является ли user
символом UILabel? Убедитесь, что ваш текст не обертывается или не обрезается. Попробуйте сделать UILabel больше.
Я не знаю, чего мне здесь не хватает. Я пытаюсь объединить строки с помощью функции [NSString stringWithFormat]
. Это то, что я делаю.
NSString *category = [row objectForKey:@"category"];
NSString *logonUser = [row objectForKey:@"username"];
user.text = [NSString stringWithFormat:@"In %@ by %@", category, logonUser];
Проблема заключается в том, что она всегда печатает только одну переменную. Скажем, есть ли "Спорт" в категории и "Лев" в logonUser, он напечатает "In Sports" и пропустит оставшийся текст. Он должен напечатать "В спорте по Льву".
Является ли user
символом UILabel? Убедитесь, что ваш текст не обертывается или не обрезается. Попробуйте сделать UILabel больше.
Вам нужно попробовать:
NSlog(@"In %@ by %@", category, logonUser);
Чтобы проверить проблему! Дайте мне знать результаты на консоли отладчика XD
Код выглядит правильно:
По какой-либо причине вы получаете возврат каретки или лишнее пробел в переменной категории? В случае небольшой метки она может не отображать полную строку. Попробуйте поменять местами две переменные в третьей строке и посмотреть, что такое выход.
Я сбиваю с толку, что даже "by" отсутствует на выходе. У меня такое чувство, что значение переменной категории маскирует текст.
В чем смысл первой строки в этом коде? Кажется, он не связан с третьей строкой?
Вы на 100% уверены, что и категория, и logonUser заполнены в коде? Возможно, поставите инструкцию NSLog сразу после строки user.text = и убедитесь, что у них есть значения, которые вы ожидаете, потому что ваша 3-я строка выглядит нормально.
Edit
Я бы попробовал изменить
user.text = [NSString stringWithFormat:@"In %@ by %@", category, logonUser];
к
user.text = [NSString stringWithFormat:@"In %@ by %@", @"category", @"logonUser"];
и посмотрите, выводит ли он In category by logonUser
. Потому что это наверняка выглядит правильно для меня.