У меня есть проблема, которая, вероятно, довольно проста, если ты не такой слепой, как я.У меня есть таблица с таможенными ячейками, которые берут информацию из источника данных.В этой пользовательской ячейке у меня есть кнопка, которая изменяет источник данных для всех ячеек.Нажатие кнопки в одной ячейке должно сделать все остальные ячейки темными.Источник данных изменен, однако моя проблема в том, что ячейки обновляются только при перетаскивании ячеек в табличном представлении.Метод, когда кнопка нажата, помещается в табличное представление и заканчивается на [tableview reloadData];но он обновляется только при перетаскивании.
Любая помощь приветствуется
- Обновление - ниже показан метод, вызываемый при нажатии кнопки.Случай переключения изменяет источник данных.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];
}