Раньше я делал это так же, как в принятом ответе, но я всегда чувствовал, что использую теги, как я использую «перейти к» в Паскале. Чувствует себя грязным Но, может быть, это только я, теги работают просто отлично.
Хотя есть альтернативный способ. Создайте подкласс UITableViewCell, создайте свойство IBOutlet, подключитесь к IB и создайте ссылку на ваше свойство в cellForRowAtIndexPath:
коде. Вот так:
interface MyCustomCell : UITableViewCell
@property (nonatomic, weak) IBOutlet UILabel *myAwesomeLabel;
@end
Не забудьте установить класс ячейки в MyCustomCell в IB.
После этого вы можете подключить свою собственность в IB напрямую, вот так
И в вашем источнике данных табличного представления теперь вы можете получить доступ к этому свойству
#import "MyCustomCell.h"
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
MyCustomCell *cell = (MyCustomCell *)[tableView dequeueReusableCellWithIdentifier:@"MyCell"];
if (cell) {
cell.myAwesomeLabel.text = @"Hello, World!";
}
return cell;
}
Использование тегов подвержено ошибкам и может очень быстро превратиться в беспорядок, если вы используете их много.