我有一个列表视图控制器,它有一个从 Yelp 获取数据的表。我有一个名为“YelpObject.h/m”的单独类,它完成了从 Yelp API 收集 Yelp 数据的所有工作。我还把 YelpObject 做成了单例。我在 ListViewController 的 init 方法中初始化了单例。
-(id)initWithPlace:(NSString*)city{
self=[super init];
if(self){
[self setCityName:city];
[[YelpObject sharedYelpObject] initializeYelpWithLocation:city term:@"Hotels"];
[[YelpObject sharedYelpObject] makeConnectionsToYelp];
}
return self;
}
现在采用以下方法:
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return [[[YelpObject sharedYelpObject] names] count];
}
names 是一个 NSMutableArray,它包含来自 Yelp API 的前 20 个酒店名称。当我尝试从“YelpObject.m”中打印名称的内容时,它具有所需的数据。
但这里的问题是,当“makeConnectionsToYelp”函数获取它的数据时,上述方法和所有表数据源方法都被调用了。这使表格始终显示零行。
我不知道如何确保只有在方法调用之后才调用表数据源方法
[[YelpObject sharedYelpObject] makeConnectionsToYelp];
返回。
我不知道回调方法是否可以在这里提供帮助。我是 iOS 编程的新手,非常感谢任何帮助。