У меня есть пользовательский UITableViewCell, который отображает различные атрибуты объекта Person (подкрепленные Core Data)... некоторые ярлыки, изображения и т.д. В настоящее время я заставляю весь tableview перезагружать всякий раз, когда изменяется какое-либо свойство, и что, очевидно, неэффективно, Я знаю, что с KVO я должен добавить слушателя в ярлык в ячейке, который может прослушивать изменения свойств Person. Но я не уверен, как его реализовать и не могу найти никаких примеров.
Вот что я обычно делаю в своем UITableView cellForRowAtIndexPath:
- (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath
{
static NSString *simple = @"CustomCellId";
CustomCell *cell = (CustomCell *) [tableView dequeueReusableCellWithIdentifier:simple];
if (cell == nil)
{
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil];
for (id findCell in nib )
{
if ( [findCell isKindOfClass: [CustomCell class]])
{
cell = findCell;
}
}
}
Person *managedObject = [self.someArray objectAtIndex: indexPath.row];
cell.namelabel.text = managedObject.displayName;
return cell;
}
Ячейка подключена к IB. Я бы хотел определить, когда изменяется имя displayName, и обновить только метку имени. Благодаря