Что такое фактическое значение строки cell.textLabel.text в источнике данных tableview? - PullRequest
0 голосов
/ 13 апреля 2011

Я думаю о том, чтобы когда-нибудь задать этот вопрос ..

Теперь я, наконец, спрашиваю ..

Когда я говорю ... в источнике данных tableView ... это ..

cell.textLabel.text=[myArray ObjectAtIndex:indexPath.row];

что это на самом деле означает ?? кто-нибудь может перевести это для меня с машинного языка ??

Я часто его использую, но .. я думаю, что я на самом деле не знаю, что он делает внутри ??

Ответы [ 3 ]

3 голосов
/ 13 апреля 2011

UITableViewCell (cell - объект этого класса) имеет несколько добавленных subviews, один из них обозначен textLabel. textLabel - это UILabel объект, и он объявлен как свойство в UITableViewCell, поэтому мы можем получить к нему доступ, используя UITableViewCell объект. text является свойством UILabel, которое помогает установить text на этикетке. Таким образом, ячейка дает вам UITableViewCell, затем вы получаете доступ к textLabel и устанавливаете ее свойство text.

[myArray objectAtIndex:indexPath.row]; - это вызов для доступа к объекту из массива (myArray) с заданным индексом. Здесь myArray должен возвращать NSString в качестве своего объекта, чтобы его можно было установить как text из textLabel.

objetAtIndex - это метод, который вернет вам элемент массива, расположенный по указанному индексу. как мы делаем для экзамена в C, myArray[0]---> [] bracket is for our (primitive type) data retrieval at given index in bracket. В object-c у вас есть этот метод, objectAtIndex: (определенный для NSArray), выполняет ту же работу.

indexPath.row означает, что мы обращаемся к row свойству indexPath (NSIndexPath объект) [аналогично, оно имеет свойство section]. и " . " - оператор для доступа к свойствам.

Более подробные сведения доступны в документации Apple. Спасибо,

2 голосов
/ 13 апреля 2011

Эта ячейка является ячейкой UITableViewCell, на которой вы можете отобразить текст.Для отображения текста в ячейке в UITableViewCell имеется свойство UILabel, и вы можете получить доступ к этому свойству с помощью cell.textLabel.

теперь снова UILabel является классом и имеет текстовое свойство для отображения текста, поэтому вы можете установить текст с помощью текстового свойства.

так что вы можете получить доступ как

cell.textLabel.text = @ "Любая строка";

Надеюсь, это поможет

1 голос
/ 13 апреля 2011

Из документации Apple

textLabel

Возвращает метку, используемую для основного текстового содержимого ячейки таблицы,(только для чтения)

@property(nonatomic, readonly, retain) UILabel *textLabel

Обсуждение

Содержит основной ярлык ячейки.UITableViewCell добавляет соответствующую метку, когда вы создаете ячейку в заданном стиле ячейки.См. «Стили ячеек» для описания основной метки в определенных на данный момент стилях ячеек.

Что касается строки кода,

cell.textLabel.text=[myArray ObjectAtIndex:indexPath.row];

Вы получаете NSString объект от myArray По индексу indexPath.row и присвоению его text свойству UILabel (textLabel).

...