NSOutlineView reloadItem: nie działa

Próbuję uwolnić trochę napięcia na widokuNSOutlineView dla których zmieniłem właściwość pojedynczego elementu i którą początkowo ładowałem po prostu dobrze[myOutlineView reloadData].

próbowałem[myOutlineView reloadItem: myOutlineViewItem] ale nigdy nie dzwoni- (NSView *)outlineView:(NSOutlineView *)ov viewForTableColumn:(NSTableColumn *)tableColumn item:(id)item w konsekwencji dane nie są aktualizowane.

-(void)reloadOutlineViewObject
{
    //[myOutlineView reloadData];   //Reload data just fines but is ressource-hungry
    NSLog(@"%d",[myOutlineView rowForItem:myOutlineViewItem]; //Making sure my object is an item of the outlineView, which it is !
    [myOutlineView reloadItem:myOutlineViewItem];   
}

Czy coś mi umyka ?

AKTUALIZACJA

Jak wskazano w komentarzach, mój konspekt jest oparty na widoku.

AKTUALIZACJA 2

Wypróbowanie niektórych rzeczy uświadomiło mi, że obiekt, który ładuję, jest obiektem drugiego poziomu (drzewo obiektów cf) i wywołującymreloadItem:firstLevelObject reloadChildren:YES działa.

Czy byłoby możliwe, abyśmy mogli wywołać tylko reloadItem: na obiekcie pierwszego poziomu? Byłoby to bardzo nieefektywne w moim przypadku (mam tylko jeden przedmiot dwupoziomowy i mnóstwo drugiego poziomu)!

nil ->firstLevelA ->secondLevel1
                  ->secondLevel2
    ->firstLevelB ->secondLevel3
                  ->secondLevel4

Spróbuję podklasować NSOutlineView i przepisaćreloadItem: w międzyczasie.

AKTUALIZACJA 3

Przyjrzałem sięNSOutlineView w Cocotron aby zacząć i czułem, że kod, który musiałem napisać, aby zastąpić reloadItem, byłby ciężki. Ktoś, kto potwierdzi?

questionAnswers(4)

yourAnswerToTheQuestion