2013-04-25 3 views
0

У меня есть простой веб-сервис, передающий некоторые данные в виде таблицы, и он работает нормально.Настройка текста ячейки с несколькими объектами JSON

Это код, который я в настоящее время:

[[cell detailTextLabel] setText:[item objectForKey:@"Ball 1"]]; 

Как я уже сказал, это работает отлично и отображает с шаровым числом, например, «1», взятый из веб-службы.

Что я хочу сделать, это показать его, например. "1 & 3".

Глядя на какой-то другой код, который я думал, что это могло бы быть:

Я совершенно новой для Objective-C, и я делаю несколько учебников, и я стараюсь, чтобы расширить свое присутствие на них немного. Было немного сложно найти ответы на некоторые вещи, потому что я не уверен в терминологии.

ответ

2

Используйте конкатенация, например stringWithFormat:

NSString *concated = [NSString stringWithFormat:@"%@ & %@", [item objectForKey:@"Ball 1"], [item objectForKey:@"Ball 3"]]; 

и теперь установить эту строку маркировать:

[[cell detailTextLabel] setText:concated]; 
+0

Это именно то, что я хотел, я просто не знал терминологию. Спасибо!!! – Bushell

1

Я не уверен, если вы хотите, чтобы установить текст из строк в пункте или если вы просто хотите напечатать «1 & 3»

Давайте сделаем вид, что это первый. Вы можете задать текст,

cell.detailTextLabel.text = [[NSString stringWithFormat:@"%@ %@", [item objectForKey:@"Ball 1"], [item objectForKey:@"Ball 3"]]; 

NSString stringWithFormat: построим строку и заменить% @ с NSObject вы предоставляете, Becareful, потому что если вы положили Int или поплавок будет врезаться. Для правильной записи вам нужно правильно использовать идентификаторы,% d для int и% f для float.

Если вы просто хотите написать «1 & 3» в текст, это все.

cell.detailTextLabel.text = @"1 & 3"; 
1

text свойства вашей ячейки должно быть установлено с одной строкой, но у вас есть две строки, которые вы хотите использовать. Вам нужно объединить эти строки.

Строковый объект в Cocoa Touch - NSString, и у него есть несколько методов, которые могли бы сработать для вас. Лучшим в этом случае является stringWithFormat:. Это берет «строку формата», которая описывает желаемый результат и другие аргументы, которые вставляются в результат.

Ваш формат строки в этом случае будет: @"%@ & %@". Это строковый литерал с двумя format specifiers - двумя %@ s. Каждый спецификатор указывает тип следующих аргументов, которые должны быть вставлены в строку - в этом случае - любой объект (в отличие от int или float). & в строке не имеет особого значения - он появится в результате как есть.

Чтобы получить результат, вы называете stringWithFormat:, передавая свой формат строку и два объекта, которые вы хотите вставленные:

NSString * result = [NSString stringWithFormat:@"%@ & %@", [item objectForKey:@"Ball 1"], [item objectForKey:@"Ball 2"]]; 

Теперь у вас есть одна строки, и можете назначить его на вашу клетку text:

[[cell detailTextLabel] setText:result]; 
Смежные вопросы