2011-07-16 52 views
0

我通過繼承UITableViewControll如下TableView在按下控制器並彈出時沒有重新加載數據?

@interface addAlarm : UITableViewController <UITableViewDataSource> 

,我已填充在細胞委託一些數據做一個UITableView,如下

if (indexPath.row == 0) {  
     AlarmProjectAppDelegate *delegate = (AlarmProjectAppDelegate *)[[UIApplication sharedApplication] delegate]; 

    NSString *cellValue = [NSString stringWithFormat:@"Name"]; 
    cell.textLabel.text = cellValue; 
    return cell; 

然後我去其他控制器

   Name *ob = [[Name alloc] initWithStyle:UITableViewStyleGrouped]; 
     [self.navigationController pushViewController:ob animated:YES]; 

     [ob release]; 
     ob = nil; 

as將會有一個後退按鈕,因爲我點擊它會被強制回到當前類「addAlarm」

但我看到,當它回來,然後在下面的方法不會被調用甚至沒有viewDidLoad中,所以表刷新它的數據,

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

我用 [self.tableView reloadData]; in viewWillApear,但它不會工作,不會調用上面的方法

我該怎麼辦才能解決這個問題,如果你不能理解這個問題,你可以再次問我評論,

在此先感謝

+0

您是否定義了self.tableView.datasource = self和self.tableView.delegate = self? – Deeps

+0

另外,啓動應用程序時是否顯示數據?那是一個以「Name」爲標題的單元格? – Deeps

+0

這不是第一個屏幕,我沒有給自己的數據源,讓我這樣做 –

回答

1

這是由於您在dealloc方法中傳遞名稱值。所以它被稱爲viewWill的另一種觀點。所以這就是爲什麼你的tableview沒有被重新加載。

嘗試在viewWillDisappear方法中發送值。

+0

'UITableViewController '已經符合'UITableViewDataSource'和'UITableViewDelegate'協議,所以都是陳述是多餘的。 –

+0

這是另一個問題,名稱的Dealloc在ViewWillAppear的addAlarm之後被調用,這裏發生了什麼? –

+0

你能分享你的xcode項目嗎? – Deeps

相關問題