tableView reloadData不起作用
问题描述:
由于某种原因,[self.tableView reloadData];只是不会工作。 在我.h文件中我有:tableView reloadData不起作用
@interface SearchOptions : UIViewController <UINavigationBarDelegate, UITableViewDelegate, UITableViewDataSource>
{
IBOutlet UITableView *myTableView;
.....
}
我已经试过:
[self.tableView reloadData];
and
[self.myTableView reloadData];
任何想法可能发生什么?
答
检查您是否已经在界面生成器中正确绑定了您的插座(请检查myTableView不是零)。如果不是这样,你会在表格视图中获得初始数据吗?如果没有,那么这可能意味着你没有将你的SearchOptions实例设置为你的表的数据源 - 请在Interface Builder中检查它,并在数据源方法上添加一些断点。
答
你确定这不是nil
?也就是说,你的插座是否正确连接?
是属性tableView
合成为ivar myTableView
? (您的问题中不包括该代码。)
答
我解决了!问题是,由于其他原因,我无法再使用我的细胞,这是我的代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *kCustomCellID = [NSString stringWithFormat:@"MyCellID%d", indexPath];
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kCustomCellID];
if (cell == nil)
{
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kCustomCellID] autorelease];
cell.selectionStyle = UITableViewCellSelectionStyleBlue;
if (selectOrDeselectInteger == 1) {
cell.accessoryType = UITableViewCellAccessoryCheckmark;
}
if (selectOrDeselectInteger == 2) {
cell.accessoryType = UITableViewCellAccessoryNone;
}
}
我只是在事后补充一点:
if (cell != nil)
{
if (selectOrDeselectInteger == 1) {
cell.accessoryType = UITableViewCellAccessoryCheckmark;
}
if (selectOrDeselectInteger == 2) {
cell.accessoryType = UITableViewCellAccessoryNone;
}
}
谢谢大家了帮帮我。对不起,这段代码不在问题中。
我已经设置:myTableView.delegate = self;和myTableView.dataSource = self; ...没有。网点和课程也在IB中设置。该表格以分组形式显示(在IB中设置)。它总是让你意想不到的问题! – Jonah 2009-11-07 04:28:15
我应该以某种方式分配或初始化myTableView吗? – Jonah 2009-11-07 04:33:23
如果我添加myTableView.dataSource = nil;表格是空白的。所以我猜这不是零。 – Jonah 2009-11-07 04:48:10