Какая типичная ошибка при работе с AnyCancellable и как ее избежать?
Что хотят услышать интервьюеры:
Частая ошибка: не хранить AnyCancellable, создавать retain cycles в sink, путать receive(on:) и subscribe(on:) или усложнять поток без необходимости.
Ответ:
Как избежать: явно сформулировать ответственность «AnyCancellable», не смешивать ее с соседними слоями и проверить сценарии: повторный вызов, ошибка, отмена, освобождение памяти и разные версии iOS.
Нюанс: удерживает subscription, иначе она завершится.
На собеседовании: полезно назвать симптом ошибки: crash, leak, race condition, stale UI, broken navigation, slow scroll или flaky test.
var cancellables = Set<AnyCancellable>()