Size: a a a

iOS Developers — русскоговорящее сообщество

2020 November 30

A🐈

Artyom 🐈 in iOS Developers — русскоговорящее сообщество
Evansir
Привет, подскажите, возможно ли задать UITapGestureRecognizer экшен со статического контекста?
Чтобы работало, надо ещё прокидывать то, что у тебя self (допустим, это обычный UIViewController):

setImages(self, imageViews: myViews, onTap: tapHandler)
...
static func setImages(_ controller: UIViewController, imageViews: [UIImageView]?, onTap: Selector) { ... }


Имхо: мне кажется это плохим решением
источник

E

Evansir in iOS Developers — русскоговорящее сообщество
Artyom 🐈
Чтобы работало, надо ещё прокидывать то, что у тебя self (допустим, это обычный UIViewController):

setImages(self, imageViews: myViews, onTap: tapHandler)
...
static func setImages(_ controller: UIViewController, imageViews: [UIImageView]?, onTap: Selector) { ... }


Имхо: мне кажется это плохим решением
Почему? Если функция вызывается с разных контроллеров, зачем дублировать код в этих контроллерах
источник

A🐈

Artyom 🐈 in iOS Developers — русскоговорящее сообщество
Evansir
Почему? Если функция вызывается с разных контроллеров, зачем дублировать код в этих контроллерах
Для такого лучше написать экстеншн (не будет статических штучек как раз)
источник

E

Evansir in iOS Developers — русскоговорящее сообщество
Artyom 🐈
Для такого лучше написать экстеншн (не будет статических штучек как раз)
Да, но если требуется инициализация массива с которого будут браться данные и устанавливаться во вьюшки, массив один, а вьюшек много
источник

A🐈

Artyom 🐈 in iOS Developers — русскоговорящее сообщество
Evansir
Да, но если требуется инициализация массива с которого будут браться данные и устанавливаться во вьюшки, массив один, а вьюшек много
Если честно, все еще не вижу загвоздки)
источник

E

Evansir in iOS Developers — русскоговорящее сообщество
Artyom 🐈
Если честно, все еще не вижу загвоздки)
т.е. перед guard добавить let array = SomeArray(), and in closure "let data = array.getSomeNumber()" where getSomeNumber removes this number from array
источник

E

Evansir in iOS Developers — русскоговорящее сообщество
ну типа того, массив один, то что с него берется, удаляется с него. В экстеншн нужно будет пеердать этот массив, а так код более понятен
источник

E

Evansir in iOS Developers — русскоговорящее сообщество
Но я могу ошибаться, я сужу Андроид разработкой, а тут совсем другая система, потому буду рад услышать почему нет
источник

A🐈

Artyom 🐈 in iOS Developers — русскоговорящее сообщество
Просто я до сих пор не вижу проблемы в этом, мб, потому что не особо понимаю суть твоего кейса
Но свифт дает хороший инструмент (экстеншн), дабы избегать лишнего кода как в этом случае
источник

A🐈

Artyom 🐈 in iOS Developers — русскоговорящее сообщество
Evansir
Но я могу ошибаться, я сужу Андроид разработкой, а тут совсем другая система, потому буду рад услышать почему нет
Может тебе это что-нибудь даст
Есть смысл выбирает между реализациями, если у тебя разная логика работы с самим контроллером
А так второй вариант по-моему самый удобный
источник

E

Evansir in iOS Developers — русскоговорящее сообщество
Artyom 🐈
Может тебе это что-нибудь даст
Есть смысл выбирает между реализациями, если у тебя разная логика работы с самим контроллером
А так второй вариант по-моему самый удобный
Спасибо, много чего дало
источник

A🐈

Artyom 🐈 in iOS Developers — русскоговорящее сообщество
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
проблема в вызывающем методе. ну и в целом код стремный, почему таргет назначается внутри, а селектор снаружи?
источник

E

Evansir in iOS Developers — русскоговорящее сообщество
Denis Kim
проблема в вызывающем методе. ну и в целом код стремный, почему таргет назначается внутри, а селектор снаружи?
Потому что я последний раз что-то делал в xcode больше 2 лет назад и начисто забыл как тут все работает и грубо говоря применяю методы как в Андроид разработке. Потому и рад советам
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
ну если покажешь вызывающий код то ошибка станет очевидной. а если ты уже сам нашел то проехали
источник

D

Delt@[•_•] in iOS Developers — русскоговорящее сообщество
Всем доброе время суток, подскажите как такое вытеснение букв можно реализовать?
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
ну можно например сделать прозрачный хедер секции у таблицы
источник

D

Delt@[•_•] in iOS Developers — русскоговорящее сообщество
ну тогда он будет всегда выше первой ячейки
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
или кастомный лэйаут через перегрузку setContentOffset в таблице
источник

E

Evansir in iOS Developers — русскоговорящее сообщество
Denis Kim
ну если покажешь вызывающий код то ошибка станет очевидной. а если ты уже сам нашел то проехали
Да, нашел и переписал через экстеншн как указал Любимый (😅)
источник