我用很少的标签和一个UITableview
构建UIView。问题是,当我加载视图时,方法- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
永远不会被打电话代码:
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
m_ShopSalesTable =[[UITableView alloc]init]; //this is the UITableView
m_ShopSalesTable.delegate = self;
m_ShopSalesTable.dataSource = self;
[self.view addSubview:m_ShopSalesTable];
[m_ShopSalesTable reloadData];
}
我把UITableViewDelegate
,UITableViewDataSource
>放在了班级的宣言中,但没有任何帮助。
您正在初始化没有框架。你这样做:
[[UITableView alloc]init];
我会这样做:
[[UITableView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, *setYourWidthHere*, *setYourHeightHere*)];
我遇到了从未调用过cellForRowAtIndexPath的问题。我有几个问题:
花了大约5个小时试图解决这个问题,希望它可以帮助别人!
您是否将tableView数据源设置为实现上述方法的类?你是否为-numberOfSectionsInTableView:和-tableView:numberOfRowsInSection返回了一个非零数字:?您的tableview数据源方法是否被调用?
我没有看到你将tableview分配到m_shopSales的位置试试:
self.tableView=m_ShopSalesTable;
在reloadData
之前
此外,m_ShopSalesTable在设置self.tableView后发生泄漏。
正如Kalle在另一个答案的评论中提出的那样,你从numberOfSections方法返回了什么?在从模板创建的默认值中,我认为这会返回零,这在某些情况下会让我感到困惑。