Anonymous
Anonymous
Особенно если тебе для компиляции в 9 надо изменения вносить
Victor
Давайте я наброшу: нахрена в Swift придумали разделять конструкторы на designated и convenience?
Anonymous
Victor
Эм… а где там такое?
Anonymous
https://developer.apple.com/library/content/documentation/General/Conceptual/CocoaEncyclopedia/Initialization/Initialization.html#//apple_ref/doc/uid/TP40010810-CH6-SW3
Victor
И тут я не вижу такого строго различия, а в Swift нужно чётко указать convenience
Anonymous
The implementation of a convenience initializer (an initializer not marked as a designated initializer within a class that has at least one initializer marked as a designated initializer) must delegate to another initializer (with [self init...]).
Anonymous
Там не обязательно это, но сейчас желательно, NS_DESIGNATED_INITIALIZER макрос
Victor
Да, желательно, а в Свифт обязательно convenience указывать
Victor
Без этого другой конструктор внутри этого не вызвать
Anonymous
Я знаю
Anonymous
Они пришли к этому
Anonymous
Но не могут же в обжс просто запретить
Anonymous
В свифте сделали обязаловкой
Victor
Вот и вопрос: зачем они это?
Victor
Чтобы дети могли читать код, и понимали что куда? Да хрен, народ только путается
Victor
Ни кто же не читает документацию :)
Victor
Есть ещё в каких-нибудь языках такая фигня?
Anonymous
Дерьмо меньше писать будут (но это не точно)
Victor
Ха… рассказать как пишут не зная про это ключевое слово в Свифт?
Anonymous
Давай
Victor
Делается приватный метод, который как init, но не init и он вызывается из всех init, которые должны быть convenience :)
Anonymous
Ага, называется еще commonInit
Victor
Ага :)
Victor
И там кучка костылей ещё вокруг
Anonymous
Так можно почти про любую фичу сказать) Если не знаешь, то обходишь)
Victor
И жалобы «тут ругается, я не знаю как делать»
Victor
Я просто сейчас погуглил немного про это ключевое слово
Anonymous
Anonymous
Ну у меня сейчас на весь проект 1 конвиниенс инит, и то у NSError в экстеншне
Victor
Суть же ошибки пишет
А кто их читает? Даже по этому чатику видно: человек скидывает ошибку, где ему всё сказано, а он спрашивает тут почему это
Anonymous
Я же погромист, я хочу кодить, а не ошибки читать
Ilkhom
Victor
Блин… а я понял зачем это
Anonymous
Чтобы проперти в 2 местах не инитить?)
Victor
Victor
Кто пользуется iOS 11? Я на iPad Air поставил, проблем не заметил, и накатил на iPhone 6s, и теперь его заряжаю 2 раза в день. :(
Anonymous
У меня на семерке с первой беты. Вроде норм все
Markmaster
Я снова со своими баранами. Подскажите пожалуйста, как победить? Очень неудобно.
Markmaster
🌴 إسماعيل
у меня было так, само отлегло )
Anonymous
Может xcode 8 надо поставить
CS7/R1BIA
Anonymous
И отключить что-то типа автоматической компиляции
Pavel
Как там кактус Виталий?)
Artur
Markmaster
Markmaster
Спасибо.
Markmaster
Markmaster
Спасибо.
Anonymous
Где это и как отключить?
https://stackoverflow.com/questions/34269297/how-do-you-prevent-xcode-7-playgrounds-from-automatically-running
Markmaster
Anonymous
Valery
Не выдержал и откатился в тот же день
Anonymous
Хотя немного есть задержка. Значит привык
Valery
После десятки, у которой мгновенный отклик, для меня прям суперкритично ощущается
Valery
Пробовал с этим неделю сидеть, все равно не смог(
Valery
И в релизе судя по всему это не исправят
Anonymous
Здесь не обязательно спрашивать разрешения
Anonymous
Anonymous
сюда пиши
Mikhail
всем бы так
Mikhail
сам спросил - сам ответил
Anonymous
все так. Чтобы класть что-то в массив, его стоит предварительно инициализировать
Anonymous
я тут. полностью согласен с тобой
Valery
А есть какая-то причина сейчас начинать учить objc вместо свифта?
Anonymous
первая причина - это ты
Valery
Ну знаешь, чисто субъективно мне просто больше нравится как свифт выглядит
Anonymous
Anonymous
декларативный кодинг
Valery
Anonymous