Three20 TTTableViewController перезагрузить данные - PullRequest
0 голосов
/ 09 ноября 2010

Как я могу перезагрузить данные в TTTableViewController?Я пытался вызвать reloadData, но он не отображает новые данные.Я создал файл источника данных, который является подклассом TTListDataSource.По сути, функция init выглядит следующим образом.

- (id) initWithObject:(NSArray *)objects { 
        if (self = [super init]) { 
                NSMutableArray *priceItems = [[[NSMutableArray alloc] init]  autorelease]; 
                for (int i = 0; i < [objects count]; i++) { 
                        [priceItems addObject: 
                         [PriceItem itemWithName: 
                                [[objects objectAtIndex:i] objectAtIndex:0] 
                                          lastDone:[[objects objectAtIndex:i] objectAtIndex:1] change:[[objects objectAtIndex:i] objectAtIndex:2]]];                                                                                           
                } 
                self.items = [NSArray arrayWithArray:priceItems]; 
        } 
        return self;  }

После загрузки представления я начинаю потоковую передачу некоторых данных, поэтому объекты, передаваемые в initWithObject, изменяются, поэтому я вызываю 'reload' в подклассе TTTableViewController для обновления данныхно данные не обновляются.Это не работает для метода обновления тоже.Нужно ли реализовывать какой-либо другой метод в подклассе TTListDataSource?

Ответы [ 2 ]

3 голосов
/ 20 марта 2011

Попробуйте

[self invalidateModel];

Это должно сработать.

1 голос
/ 07 сентября 2011

invalidateModel перестроит модель, это не эффективно.

Попробуйте [обновление TTTableViewController] , ваша таблица будет перезагружена.

...