CATransaction.setCompletionBlock не выполняется при вставке ячейки, содержащей циклическую анимацию.IOS

Программируем под IOS
Ответить
Anonymous
 CATransaction.setCompletionBlock не выполняется при вставке ячейки, содержащей циклическую анимацию.

Сообщение Anonymous »

Чтобы исправить неудачный запрос сервера, я повторно вставляю строку в свое представление таблицы. Рассматриваемая ячейка имеет циклическую анимацию в одном из своих подпредставлений/слоев, поэтому я понимаю, что setCompletionBlock никогда не вызывается, потому что анимация внутри не завершена.
Есть ли способ обойти это, возможно, приказав блоку завершения игнорировать определенную анимацию?
Это упрощенная версия кода:

Код: Выделить всё

CATransaction.begin()
CATransaction.setCompletionBlock{ [unowned self] in
//completion code 1
Task {
let success = await serverCall()

if !success
{
CATransaction.begin()
CATransaction.setCompletionBlock{
//completion code 2
//never gets called
}
users.insert(user, at: indexPath.row)
tableView.insertRows(at: [indexPath], with: .left)
CATransaction.commit()
}
}
}
users.remove(at: indexPath.row)
tableView.deleteRows(at: [indexPath], with: .left)
CATransaction.commit()
Спасибо!


Подробнее здесь: https://stackoverflow.com/questions/798 ... -containin
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»