Рефакторинг Swift UIViewPropertyAnimators из массивного контроллера представления - PullRequest
0 голосов
/ 13 ноября 2018

Я пытаюсь провести рефакторинг моего контроллера массивного представления Swift, который теперь имеет> 900 строк (слишком много).

Как я могу отделить создание моего UIViewPropertyAnimators (~ 100 строк) от моего основного UIViewController?Дело в том, что UIViewPropertyAnimators нужна ссылка на свойство view и UIViews, которые они анимируют.Создаю ли я struct с weak var, которому я назначаю ссылку view путем внедрения зависимости?Мне также нужно как-то ссылаться на объекты UIView.Не уверен, что это лучший способ реорганизовать это, не создавая некую круглость.Есть идеи?

Добавление :

Поскольку все аниматоры связаны только с частью окна, я теперь создал дочерний контроллер представления и переместил туда аниматоры.Я думаю, что это также жизнеспособное решение.Мне пришлось добавить шаблон делегата.В конце родительский контроллер представления на ~ 100 строк короче, и у меня, как говорится, «отдельная забота».

1 Ответ

0 голосов
/ 13 ноября 2018

Например:

Новый файл с именем PropertyAnimators

В этот файл импортируйте все необходимые вам библиотеки. Затем расширьте исходный контроллер вида следующим образом:

extension UIViewControllerName: UIViewController, (any other delegates that you need) {
//PropertyAnimators code
}
...