0

UITableview reloadData 函数没有调用 cellforRowAtIndexPath 方法。以下是我尝试过的事情:

  1. 称呼[self.myTableView reloadData];
  2. 也调用reloadData方法ViewWillAppear
  3. self.myTableView.delegate=self;也写过self.myTableView.datasource=self
  4. Also I have test using NSLog that number of rows are updating properly.
  5. Data source and delegate are connected in storyboard.
4

4 回答 4

0

你实现了这个方法吗?

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1; //Return the number of sections you want
}

这很容易忘记,因为默认情况下它返回 0。

如果你不这样做,tableview 认为它没有部分并且不要求任何行。

于 2012-07-26T13:34:56.570 回答
0

你的观点符合UITableViewDelegateUITableViewDatasource吗?

它是否至少实现了这些协议中所有必需的方法?另外,不用说self.myTableView,你可以说myTableView如果你在课堂上工作。

这听起来很傻,但你忘了保存你的故事板吗?我不止一次这样做过。

于 2012-07-25T16:13:10.920 回答
0

我猜你还没有在你的 .h 文件中声明委托。

例子。

@interface ClassName:UIViewController <UITableViewDelegate> 
于 2012-07-25T18:05:38.533 回答
0

确保设置表视图的委托:

tableView.delegate = _an_object_that_conforms_to_UITableViewDelegate_;

这通常是您在其中声明表视图的视图控制器,因此您将拥有:

tableView.delegate = self;

只需确保包含表视图并充当其委托的视图控制器将自己声明为 UITableViewDelegate:

@class MyViewController <UITableViewDelegate> {

  UITableView *tableView;
  ...
于 2012-07-26T14:44:17.333 回答