2011-12-14 2 views
0

В WWDC 2011 видео 309 на раскадровки. Они демонстрируют использование пользовательского UITableViewCell, который был подклассифицирован. В cellForRowAtIndexPath они устанавливают ячейку, получая объект NSManagedObject и устанавливая свойство настраиваемой ячейки управляемому объекту. Ведущий говорит, что пользовательская ячейка таблицы будет устанавливать UILabels с помощью управляемого объекта.настройка содержимого пользовательского UITableViewCell

Они никогда не показывают код для пользовательской ячейки таблицы. Мой вопрос: какой метод вы бы переопределили в UITableViewCell для обновления ячейки?

И да, я знаю, что вы обычно делаете это в cellForRowAtIndexPath, используя теги или импортируя заголовок для tableViewCell и получая доступ к его свойствам.

ответ

0

Обычно вы создаете свой собственный метод для обновления данных ячейки, например.


@interface MyCell : UITableViewCell 

@property (nonatomic, retain, readwrite) IBOutlet UILabel* label; 

- (void)setData:(NSString*)data; 

@end 

@implementation 

@synthesize label = label_; 

- (void)setData:(NSString*)data { 
    self.label.text = data; 
} 

@end 

Конечно, вы можете иметь больше IBOutlets там и data может быть сложным объектом.

+0

Я вижу, они, вероятно, написали пользовательский метод setter для этого свойства в подклассе UITableViewCell. Поэтому, когда они установили свойство NSManagedObject в cellForIndex, все было настроено. В этом есть смысл. благодаря – agilityvision

0

Также убедитесь, что вы правильно указываете идентификатор повторного использования в своем ракурсе раскадровки. Это должно соответствовать тому, что вы используете в методе делегата CellForRowAtIndexPath. Вы также должны обязательно изменить имя класса для ячейки в представлении раскадровки на свое собственное имя класса TableViewCell (MyCell выше).

Смежные вопросы