2012-09-12 74 views
-4

我的問題是,每當用戶點擊一個按鈕,UITableviewcell文字顏色需要改變。這是我的代碼UITableview不重裝和刷新

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath                    *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 
    CustomCell *cell=(CustomCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if(cell==nil){ 
     NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil]; 
     for(id currentObject in topLevelObjects){ 
      if([currentObject isKindOfClass:[UITableViewCell class]]){ 
       cell = (CustomCell *) currentObject; 
       break; 
      } 
     } 
    } 
    if(one == YES) 
    { 
     cell.dayLabel.textColor = [UIColor blackColor]; 
     cell.imageLabel.textColor = [UIColor blackColor]; 
     cell.high.textColor = [UIColor blackColor]; 
     cell.low.textColor = [UIColor blackColor]; 
    } 
    else if(two == YES) 
    { 
     cell.dayLabel.textColor = [UIColor whiteColor]; 
     cell.imageLabel.textColor = [UIColor whiteColor]; 
     cell.high.textColor = [UIColor whiteColor]; 
     cell.low.textColor = [UIColor whiteColor]; 
    } 
} 

我在按鈕操作中重新加載,但重新加載時會崩潰。 我試過[tableview setNeedsToDisplay];仍然沒有用...

+0

你遺漏了一些非常重要的信息,比如你崩潰時得到什麼樣的錯誤,崩潰了什麼。 – dandan78

+0

沒有顯示在控制檯..但錯誤是0x121209b:movl 8(%edx),%edi - - EXC_BAD_ACCESS – Joker

+0

我建議在你的按鈕動作和'tableView:cellForRowAtIndexPath:'找出斷點在哪裏崩潰發生。 – dandan78

回答

3

你的tableView:cellForRowAtIndexPath:沒有返回一個UITableViewCell。