这是我的初始化程序的代码:
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”中刷新数据源文件中的数据?
答案 0 :(得分:1)
您的数据源是否绑定到TTURLRequestModel?如果是这样,您可能会错过致电:
[super requestDidFinishLoad:request];
如果它绑定到基本TTModel,您可能会错过调用:
[self didFinishLoad];
这些应该在您的requestDidFinishLoad:方法中发生。
<强>更新强> 没意识到你没有使用TTModel。你的requestDidFinishLoad是否致电:
[self dataSourceDidFinishLoad];
根据以下评论再次更新 您正在阅读的文档或教程已过时,较新版本的Three20不再以这种方式工作。 http://three20.info/tutorials/github有一个很棒的教程可以让你回到正确的轨道上。