Size: a a a

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

2020 October 26

EA

Eugene Agibalov in iOS Developers — русскоговорящее сообщество
Uzb
сколько времени нужно, чтобы стать разработчиком iOS
Нас кинула компания подрядчик, которая разрабатывала под iOS. И мы решили растить эти компетенции внутри компании. Так я первый раз в жизни взял в руки айфон. Через месяц я уже зарелизил первую альфу. Но у меня общий опыт в разработке 15 лет
источник

MS

Maxim Stikharev in iOS Developers — русскоговорящее сообщество
Всем привет!

Хотел спросить, видел у яндекса можно сделать Apple Pay с неопределенной суммой. Есть какой то гайд как это сделать?
источник

ЛУ

Лысый Убийца... in iOS Developers — русскоговорящее сообщество
Maxim Stikharev
Всем привет!

Хотел спросить, видел у яндекса можно сделать Apple Pay с неопределенной суммой. Есть какой то гайд как это сделать?
Лохотронить вздумал?
источник

MS

Maxim Stikharev in iOS Developers — русскоговорящее сообщество
Нельзя оценить стоимость заказа до его окончания(исходит из времени)
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
не понятно для чего это? как это списать неизвестную сумму?
источник

IG

Ivan Gnatyuk in iOS Developers — русскоговорящее сообщество
постоплата назывется
источник

MS

Maxim Stikharev in iOS Developers — русскоговорящее сообщество
Как это делает яндекс :)

У нас исполнитель может выполнять заказ 2 часа, а может 9.

И стоимость узнаем когда он закончит и бэкенд должен списать.
источник

S

Say my name in iOS Developers — русскоговорящее сообщество
Maxim Stikharev
Всем привет!

Хотел спросить, видел у яндекса можно сделать Apple Pay с неопределенной суммой. Есть какой то гайд как это сделать?
источник

S

Storm67 in iOS Developers — русскоговорящее сообщество
Ребят, зачем нужен generic init? гугл молчит
источник

MS

Maxim Stikharev in iOS Developers — русскоговорящее сообщество
Спасибо
источник

a

andrew in iOS Developers — русскоговорящее сообщество
Storm67
Ребят, зачем нужен generic init? гугл молчит
заинитить сразу дженерик проперть
источник

S

Storm67 in iOS Developers — русскоговорящее сообщество
andrew
заинитить сразу дженерик проперть
А в чем разница если указать
init(network: NetworkService)
init<N: NetworkService>(network: N) ?
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
кто-нибудь в курсе, почему UITextField вызывает
func textRect(forBounds bounds: CGRect) -> CGRect
во время редактирования с bounds 0,0,100,100 при том, что bouds самого UITextField в этот момент совершенно другие?
источник

IG

Ivan Gnatyuk in iOS Developers — русскоговорящее сообщество
Storm67
А в чем разница если указать
init(network: NetworkService)
init<N: NetworkService>(network: N) ?
в том что в первом случае компилятор обернет параметр network в existential container, во втором: компилятор сгенерит специальные версии этого метода для типов, на которых он реализован
источник

S

Storm67 in iOS Developers — русскоговорящее сообщество
Ivan Gnatyuk
в том что в первом случае компилятор обернет параметр network в existential container, во втором: компилятор сгенерит специальные версии этого метода для типов, на которых он реализован
То есть допустим если NetworkService это протокол, то такой инициализатор сможет принимать другие классы под этим интерфейсом ?
источник

S

Storm67 in iOS Developers — русскоговорящее сообщество
А под обычным init не сможет, правильно понял ?
источник

IG

Ivan Gnatyuk in iOS Developers — русскоговорящее сообщество
Storm67
То есть допустим если NetworkService это протокол, то такой инициализатор сможет принимать другие классы под этим интерфейсом ?
это утверждение верно для обоих вариантов. Если NetworkService не ограничен как class или AnyObject - то не только классы
источник

S

Storm67 in iOS Developers — русскоговорящее сообщество
Ivan Gnatyuk
это утверждение верно для обоих вариантов. Если NetworkService не ограничен как class или AnyObject - то не только классы
В таком случае "специальные версии этого метода для типов" это инициализация на основании типа? из серии <N:NetworkService> where N.P == P(где P какой-нибудь протокол внутри класса подписанный под N) верно ?
источник

S

Storm67 in iOS Developers — русскоговорящее сообщество
вообщем я так понял используется для более точной инициализации "generic type"
источник

IG

Ivan Gnatyuk in iOS Developers — русскоговорящее сообщество
Storm67
вообщем я так понял используется для более точной инициализации "generic type"
неверно

с точки зрения "передать только тот параметр, который реализует `NetworkService`" - оба варианта делают это.

Разница в "магии компилятора", которая будет происходить под капотом. В первом случае возможно будет страдать производительность и больше памяти будет использовано если тип слишком большой для existential'а.

Во втором случае компилятор создаст более "производительный" код, но минус в дольшей компиляции и более жирном бинарнике.

Нет особого смысла заботиться об этом только если вы пишите какой то высокопроизводительный участок кода, где это реально важно
источник