2009-11-07 83 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;   
    } 
} 

謝謝大家了幫幫我。對不起,這段代碼不在問題中。