0

我有一个带有 UITableView 的 UIViewController。当视图加载时,numberOfSectionsInTableView:被调用,并且我希望那时我的self.numberOfSections变量为 0。然后当我调用[self.tableView reloadData]加载数据的完成块时,它不会调用任何 UITableViewDataSource 方法。

经过一些调试,我发现即使在numberOfSectionsInTableView:视图加载时正确调用,如果我将tableView传递的内容打印到方法中,它也与 nil 不同self.tableView

我几乎肯定我所有的插座都正确连接(我遵循了与我制作的所有其他表格视图相同的模式)。所以我不确定是什么导致了这种情况发生,numberOfSectionsInTableView:如果我的self.tableView实例为 nil,甚至会传入什么表视图?

下面的屏幕截图显示了numberOfSectionsInTableView:实例的断点和打印输出。 在此处输入图像描述

4

1 回答 1

1

在.h中:

  @interface YourViewController: UIViewController <UITableViewDataSource,UITableViewDelegate>

在 .m 中:

    YourTableView.delegate = self;
    YourTableView.dataSource = self;

tableView 代表:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

    return numberofRowsYouWant;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {


    // make your cell.....

    return cell;

}

如果您没有错过其中的任何步骤,它应该可以正常工作!当然,如果您使用 IB,请不要忘记将您的 tableView 与 IBOutlet 连接!

您可以重新加载您的 tableView 例如这样的方法:

-(void) showData
{
    [YourTableView reloadData];
    [YourTableView setNeedsDisplay];
}
于 2013-09-11T20:34:20.423 回答