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