Перезагрузка TTableView после добавления элементов источника данных - PullRequest
0 голосов
/ 25 февраля 2010

Это код моего инициализатора:

if (self = [super init]) {
    self.title = @"Posts";
    self.variableHeightRows = YES;
    //XLog("");

    PostsDataSource *dataSource = [[[PostsDataSource alloc] init] autorelease];
    [dataSource.delegates addObject:self];
    [dataSource load:TTURLRequestCachePolicyMemory nextPage:NO];

    self.dataSource = dataSource;
}
return self;

В моем источнике данных я делаю TTURLRequest, и когда вызывается requestDidFinishLoad, мой источник данных заполняется некоторыми элементами.

Это все работает довольно хорошо, но мой TTableViewController не показывает ни один из этих файлов, потому что он инициализируется и отображается до завершения работы моего источника данных. Я знаю, что это работает, потому что при кэшировании моего источника данных на диск отображаются все элементы.

Вопрос в том, как сказать моему TTableViewController обновить данные из моего файла источника данных в моем "requestDidFinishLoad"?

1 Ответ

1 голос
/ 25 февраля 2010

Ваш источник данных связан с TTURLRequestModel? Если это так, вы можете пропустить звонок:

[super requestDidFinishLoad:request];

Если он привязан к базовой модели TTM, возможно, вы пропускаете вызов:

[self didFinishLoad];

Это должно происходить в вашем requestDidFinishLoad: метод.

Обновление Не знал, что вы не используете TTModel. Ваш requestDidFinishLoad вызывает:

[self dataSourceDidFinishLoad];

Обновление снова на основе комментариев ниже Документация или учебник, который вы читали, устарели, и более новая версия Three20 больше не работает таким образом. На http://three20.info/tutorials/github есть отличное руководство, которое поможет вам вернуться на правильный путь.

...