私のように目が覚めていない場合は、おそらくかなり簡単な問題があります。私はデータソースから情報を取っている税関セルを持つテーブルビューを持っています。このカスタムセルには、すべてのセルのデータソースを変更するボタンがあります。 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];
}
一部のコードを提供 – iPrabu
cellForRowAtIndexPathメソッドにbreakpointを設定することによって、tableviewが実際に再ロードされているかどうかを確認します。 – Ilanchezhian
[reload data]が呼び出されたときにメソッドcellForRowAtIndexPathが即座に呼び出されることはありません。私はcellForRowAtIndexPathにいくつかのnslogを持っています。これはテーブルビュー時に呼び出されます。ドラッグされます – Bjarke