hinzufügen KVO zu UITableViewCell

Habe ich eine custom UITableViewCell die Anzeige von verschiedenen Attribute einer Person Objekt (unterstützt von Core Data) ... einige Beschriftungen, Bilder etc. Ich habe derzeit zwingen, die gesamte tableview neu laden, wenn keine änderungen der Eigenschaft, und das ist offensichtlich nicht effizient. Ich weiß, mit KVO, ich sollte in der Lage sein, einen listener hinzufügen, um eine Beschriftung in die Zelle, das Zuhören kann für änderungen in der Person dessen Eigenschaften. Aber ich bin mir nicht sicher, wie es zu implementieren, und finde keine Beispiele.

Hier ist, was ich normalerweise tun, in meinem UITableView ist 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;
}

Der Zelle verknüpft ist, die in IB. Ich würde mir wünschen, zu erkennen, wenn displayName änderungen, und aktualisieren der Beschriftung name.
Dank

InformationsquelleAutor Z S | 2011-10-05
Schreibe einen Kommentar