出于某种原因,[self.tableView reloadData];就行不通 在我的.h文件中,我有:
@interface SearchOptions : UIViewController <UINavigationBarDelegate, UITableViewDelegate, UITableViewDataSource>
{
IBOutlet UITableView *myTableView;
.....
}
我试过了:
[self.tableView reloadData];
和
[self.myTableView reloadData];
任何想法可能会发生什么?
答案 0 :(得分:2)
你确定它不是 - nil
吗?那就是你的插座连接正确了吗?
属性tableView
是否合成了ivar myTableView
? (您的问题中不包含该代码。)
答案 1 :(得分:2)
检查您是否在Interface Builder中正确绑定了插座(请检查myTableView是否为零)。如果不是这样,您是否在表格视图中获得了初始数据?如果没有,那么它可能意味着您没有将SearchOptions实例设置为表的数据源 - 在Interface Builder中检查它并在数据源方法上添加一些断点。
答案 2 :(得分:2)
我解决了!问题是由于其他原因,我无法重复使用我的单元格,这是我的代码:
- (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;
}
}
感谢大家的帮助。对不起,这段代码不在问题中。
答案 3 :(得分:1)
您的插座未在IB中连接。