2011-08-02 11 views
-1

私のように目が覚めていない場合は、おそらくかなり簡単な問題があります。私はデータソースから情報を取っている税関セルを持つテーブルビューを持っています。このカスタムセルには、すべてのセルのデータソースを変更するボタンがあります。 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メソッドにbreakpointを設定することによって、tableviewが実際に再ロードされているかどうかを確認します。 – Ilanchezhian

+0

[reload data]が呼び出されたときにメソッドcellForRowAtIndexPathが即座に呼び出されることはありません。私はcellForRowAtIndexPathにいくつかのnslogを持っています。これはテーブルビュー時に呼び出されます。ドラッグされます – Bjarke

答えて

0

インターフェイスビルダとクラスが正しく設定されている間にリンクがありませんでした。 IBは私の特定のクラスの代わりにUIViewControllerに設定されていました。助けてくださってありがとうございました。

関連する問題