2011-08-02 204 views
-1

我有一个问题,如果你不像我一样盲目,可能相当容易。我有一个海关单元的桌面视图,这些单元正在从一个数据源获取信息。在这个自定义单元格中,我有一个按钮可以更改所有单元格的数据源。按下一个单元格中的按钮应该使所有其他单元格变黑。数据源发生了变化,但是我的问题是,只有当我在表格视图中拖动单元格时,单元格才会更新。按钮被按下时的方法放置在tableview中,并以[tableview reloadData];结束。但它只在拖动时更新。更新uitableview自定义单元格

任何帮助理解

--Update-- 下面示出了当按钮被按下调用的方法。开关盒更改数据源。 button.tag用于查看按下哪个单元格。

-(void)myPackageButtonPushed:(id)sender 
{ 
    UIButton* myButton = (UIButton*)sender; 
    NSLog(@"id %d",myButton.tag); 
    int test=myButton.tag; 
    for (int i=0; i<[packageList count]; i++) { 
     TVPackage *tvpack=[packageList objectAtIndex:i]; 
     [tvpack setMyPackage:NO]; 
    } 

    switch (test) { 
     case 0: 
      NSLog(@"0"); 
      [[packageList objectAtIndex:0] setMyPackage:YES]; 
       [[packageList objectAtIndex:1] setMyPackage:YES]; 

      break; 
     case 1: 
      NSLog(@"1"); 
      [[packageList objectAtIndex:0] setMyPackage:YES]; 
      [[packageList objectAtIndex:1] setMyPackage:YES]; 
      break; 
     case 2: 
      NSLog(@"2"); 
      [[packageList objectAtIndex:2] setMyPackage:YES]; 
      [[packageList objectAtIndex:3] setMyPackage:YES]; 
      break; 
     case 3: 
      NSLog(@"3"); 
      [[packageList objectAtIndex:2] setMyPackage:YES]; 
      [[packageList objectAtIndex:3] setMyPackage:YES]; 
      break; 
     case 4: 
      NSLog(@"4"); 
      [[packageList objectAtIndex:4] setMyPackage:YES]; 
      [[packageList objectAtIndex:5] setMyPackage:YES]; 
      break; 
     case 5: 
      NSLog(@"5"); 
      [[packageList objectAtIndex:4] setMyPackage:YES]; 
      [[packageList objectAtIndex:5] setMyPackage:YES]; 
      break; 
     default: 
      break; 
    } 

    [self.tableview performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO]; 
    } 
+0

提供了一些代码 – iPrabu

+1

通过在cellForRowAtIndexPath方法中设置断点,确认tableview是否真正重新加载。 – Ilanchezhian

+0

当调用[reload data]时,不会立即调用cellForRowAtIndexPath方法。我在cellForRowAtIndexPath中有几个nslog,它们在tableview时被调用。被拖动 – Bjarke

回答

0

我没有正确设置Interface Builder和类之间的链接。 IB被设置为一个UIViewController而不是我特定的类。感谢您的帮助和时间。