IOS: Это нормальное поведение для AccessoryButtonTapped, чтобы вызвать немедленную перезагрузку просмотра таблицы? - PullRequest
0 голосов
/ 01 декабря 2019

Я пытаюсь замедлить процесс, когда нажимается дополнительная кнопка для отображения таблицы, чтобы показать анимацию. Когда нажимается дополнительная кнопка, мой вариант использования заключается в удалении строки из табличного представления путем изменения флага в основных данных. Однако перед удалением я хочу вставить короткую анимацию.

Я не могу найти нигде в коде, где он явно вызывает reloadData. Поэтому я предполагаю, что касание accessoryButton делает это самостоятельно, иначе accessoryButtonTapped вызывает viewWillAppear, который имеет вызов reviewData для tableview. (Для записи, данные поступают из основных данных, и я использую NSFetchedResultsController.)

Вызывает ли accessoryButtonTapped reloadData или viewWillAppear автоматически? Если так, есть ли способ замедлить процесс вставки анимации? Ничего не могу найти по этому вопросу в документах .

Редактировать:

- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath{

     Items *item = [self.fetchedResultsController objectAtIndexPath:indexPath];
       NSNumber *touched= @1;
    NSNumber *notTouched = @0;
    if(([item.touched isEqual:touched]))
    {
        item.touched=notTouched;
        item.needsync=@1;
    }
    else
    {
        item.touched=touched;
        item.needsync=@1;
//Attempted Animation here        
        [self animateItemTouched:[tableView cellForRowAtIndexPath:indexPath] withItem:item];

    }

     self.managedObjectContext = [IDModel sharedInstance].managedObjectContext;
    NSError *error;
    if ([self.managedObjectContext save:&error]) {

    [self createPackageAndSendToServer:item];    
    }
if (error) {
    NSLog(@"error") }

     }
}
...