-1

如果您不像我那么盲目,我有一个问题可能相当容易。我有一个带有海关单元格的表格视图,这些单元格从数据源中获取信息。在这个自定义单元格中,我有一个按钮可以更改所有单元格的数据源。按下一个单元格中的按钮应该使所有其他单元格变暗。数据源已更改,但我的问题是只有当我在表格视图中拖动单元格时,单元格才会更新。按下按钮时的方法放在tableview中,以[tableview reloadData]结尾;但它只在拖动时更新。

任何帮助表示赞赏

--Update-- 下面显示了按下按钮时调用的方法。switch case 改变了数据源。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];
    }
4

1 回答 1

0

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

于 2011-11-28T12:49:14.023 回答