2009-11-07 80 views
1

由于某种原因,[self.tableView reloadData];只是不会工作。 在我.h文件中我有:tableView reloadData不起作用

@interface SearchOptions : UIViewController <UINavigationBarDelegate, UITableViewDelegate, UITableViewDataSource> 
{ 
    IBOutlet UITableView *myTableView; 
    ..... 
} 

我已经试过:

[self.tableView reloadData];

and

[self.myTableView reloadData];

任何想法可能发生什么?

回答

2

检查您是否已经在界面生成器中正确绑定了您的插座(请检查myTableView不是零)。如果不是这样,你会在表格视图中获得初始数据吗?如果没有,那么这可能意味着你没有将你的SearchOptions实例设置为你的表的数据源 - 请在Interface Builder中检查它,并在数据源方法上添加一些断点。

+0

我已经设置:myTableView.delegate = self;和myTableView.dataSource = self; ...没有。网点和课程也在IB中设置。该表格以分组形式显示(在IB中设置)。它总是让你意想不到的问题! – Jonah 2009-11-07 04:28:15

+0

我应该以某种方式分配或初始化myTableView吗? – Jonah 2009-11-07 04:33:23

+0

如果我添加myTableView.dataSource = nil;表格是空白的。所以我猜这不是零。 – Jonah 2009-11-07 04:48:10

2

你确定这不是nil?也就是说,你的插座是否正确连接?

是属性tableView合成为ivar myTableView? (您的问题中不包括该代码。)

+0

你会如何综合tableView属性到ivar myTableView? 感谢您的帮助! – Jonah 2009-11-07 01:38:33

+0

你的意思是:@property(nonatomic,retain)UITableView * myTableView; – Jonah 2009-11-07 01:50:27

+0

In @Implementation file(.m) @synthesize myTableView; – Jordan 2009-11-07 03:58:18

1

您的插座没有连接到IB。

+0

其实它已连接。但它表现得不像。 – Jonah 2009-11-07 04:05:07

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;   
    } 
} 

谢谢大家了帮帮我。对不起,这段代码不在问题中。