OGeek|极客世界-中国程序员成长平台

标题: ios - TableView 不显示行 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 15:21
标题: ios - TableView 不显示行

我正在使用 parse 开发一个小应用程序。它应该显示名称,存储在 Array 列中的解析用户类中。

这是我的代码:

@synthesize friendsList;

-(void)viewDidLoad{ 
[super viewDidLoad];

    PFQuery*query = [PFUser query];
    [query getObjectInBackgroundWithId"myObjectId" block:^(PFObject   *gameScore, NSError *error) {

    if(error==nil){

        friendsList = [gameScore valueForKey"Friends"];

        NSLog(@"%@", friendsList);

    }
    else{
        NSLog(@"Error");
    }

}];
}


- (NSInteger)numberOfSectionsInTableViewUITableView *)tableView {

return 1;

}

- (NSInteger)tableViewUITableView *)tableView      numberOfRowsInSectionNSInteger)section {

return [friendsList count];

}


- (UITableViewCell *)tableViewUITableView *)tableView      cellForRowAtIndexPathNSIndexPath *)indexPath {


UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier"MainCell" forIndexPath:indexPath];

cell.textLabel.text = friendsList[indexPath.row];

return cell;
 }

问题是,当我从解析加载数据时。它不会在表格 View 上显示任何内容。

我是否像这样声明friendsList:

friendsList = [NSMutableArray arrayWithObjects"Name1", @"Name2",  nil];

它会起作用的。



Best Answer-推荐答案


您的 tableView 是空白的,因为您的 friendsList 在显示 tableView 时没有填充。

在完成 block 中重新加载 tableView。 在 friendsList = [gameScore valueForKey"Friends"]; 语句之后的完成 block 中添加以下代码:

dispatch_async(dispatch_get_main_queue(), ^{
                [self.tableView reloadData]; // assuming your table view is tableView
            });

希望这会有所帮助!

关于ios - TableView 不显示行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30438160/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4