Это копия, сохраненная 17 мая 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
>С чего вкатываться?
Со swift book - книжка валяется в интернете.
Стоит упомянуть про складчину иос господ - телега.ми/iOSBooks - валяется огромное количество книжек, хоть обмазывайся.
Есть еще одна, из какого местного чатика https://drive.google.com/drive/folders/0B25xie8pit__amNPc1N6OXVFaEU - но там больше старых валяется. Единственный плюс так это обжс.
>Не люблю читать книжки я долбаеб
https://www.youtube.com/playlist?list=PL9lXw_XXeiWQGrY5dl0IjFI7tOw_nfI91 - лучшее что есть в тырнете.
По видяшкам так же рекомендую:
https://coursehunters.net/course/ios-12-i-swift-4-2-dlya-nachinayushchih-200-prakticheskih-tutorialov
https://coursehunters.net/course/ios-12-i-swift-4-ot-novichka-do-professionala - перед стенфордскими курсами можно глянуть. Тоже найс.
После окончания вышеописанного заебись будет построить свое приложение. Например очередное Weather или же ImageGallery или что-нибудь свое.
https://marcosantadev.com/coredata_crud_concurrency_swift_1/ - хорошая серия статей по работе с CoreData
По многопоточке есть охренные рускоязычные статьи, автор разбирает практически ВСЕ, чего даже не найдешь на медиуме
https://habr.com/ru/post/320152/
https://habr.com/ru/post/335756/
Полезные ресурсы:
https://www.raywenderlich.com/
https://www.appcoda.com/
https://www.bignerdranch.com/books/ios-programming/
Видео для ленивых:
https://www.udacity.com/courses/ios
https://www.youtube.com/user/AlexSkutarenko
https://developer.apple.com/videos/
Перевод документации базовой
https://swiftbook.ru/content/
Материал на английском:
Очень подробно все рассказывает и расписывает
https://rutracker.org/forum/viewtopic.php?t=5445071
Devslopes. Начинал с них, рисуют приложения при тебе, особо не углубляются в детали, но как пример можно посмотреть. Сам к ним вернусь, как побольше поучу.
https://coursehunters.net/course/udemy-ios11-swift4
ласт >>1311979 (OP)
Ситуация такова: у компании есть два приложения на iOS. Одно настроили годно - все эти fastlane / match / travis, второе еще нет. Чувак, который первое настраивал уже не работает, пришедший ему на замену просто ипользует то, что тот когда-то настроил. Под первое был создан репозиторий с сертификатами. Появилась необходимость нормально настроить деплой нового приложения.
Можно ли использовать тот же репозиторий с профилями и сертификатами под другое приложение? Как это настроить?
Мы не знаем
Это типа писать шел скрипт, который в терминале
xcrun -p -n будет запускать? Этож ебануться можно.
Есть куча легаси на Objective-C.
не раскачивайте лодку
Это не я сказал. Так говорили здесь и чатиках. Сообщество очень унылое. Более унылого не встречал. Поэтому не удивлюсь, если действительно спроса нет, да и писать толком под iOS никто не хочет.
Я говноадинэсник с 10-летним опытом, пытаюсь перекатиться в iOS. Последние 2,5 года в свободное от основной фуллтайм работы время, то есть, по вечерам/выходным/в отпуске изучаю iOS разработку. Не иногда, а регулярно. Последние года полтора - вообще почти каждый день, почти всё свое свободное от работы время на это трачу. Месяца 3 назад наконец-то завершил и опубликовал первое приложение в AppStore. Приложение средней сложности: около 20 вьюшек, CoreData, графики. Знаю и использую Swift, UIKit, Foundation, CoreData, GCD, работаю с REST API на JSON, с Git и CocoaPods. Вот уже месяца 2 активно пытаюсь вкатиться: откликаюсь сам на вакансии на hh, итог плачевный: за эти 2 месяца из 45 моих откликов было только 4 приглашения на техническое интервью, и именно отказов штук 6, остальные отклики - просмотрены, но просто проигнорированы. Сейчас приступаю к изучению MVVM и RxSwift, и затем планирую Objective-С изучить, т.к. в 80% вакансий он требуется. Параллельно пилю второе приложение. Но руки уже опускаются, потому как теперь вообще нет понимания, сколько ещё времени надо проебстись, сколько изучить, чтобы трудоустроиться iOS разработчиком. Реквестирую советов и историй успеха от таких же анонов перекатывальщиков из чего-либо в iOS девелопинг.
>Мб из-за того что нет админов.
Наврятли. Сообщество унылое потому что участники тупые наверное. Это вовсе не токсичность. Просто непонятно как в той же телеге обсуждать какие-нибудь значимые и интересные вещи. Всё сведётся к писькомерению. Да даже на дваче их не пообсуждаешь. Обсуждают что-то интересное по языку на свифтовом форуме в разделе предложения длинными и не понятными простынями на английском языке.
У меня тоже такое было. Но как то ты размазано подходишь к вопросу. Главный совет не учи всё что требуются в вакансиях. Учит только свифт и фреймворк UIKit, этого будет более чем достатнчно. Но выучи свифт очень хорошо.
На все вопросы по Swift на собеседовании я отвечал (по крайней мере, на последнем): и про типы данных, и про ARC.
А что именно ты вкладываешь в понятие "очень хорошо"? Какие области?
И главное - они меня отсеивают, по большей части, ещё на этапе просмотра резюме, и до интервью в 90% случаях даже не доходит. Как в резюме можно показать, что Swift знаешь очень хорошо?
В телеге, да и не только там, есть прекрасные сообщества. Открытые, дружные, живые. Посмотри F# чат в телеге. Так что это не проблема платформы. Проблема есть в самом сообществе iOS разработки. Сообщества как такового нет.
Не устраивает главным образом тем, что трактор хочу завести из Россиюшки
>На все вопросы по Swift на собеседовании я отвечал
>И главное - они меня отсеивают, по большей части, ещё на этапе просмотра резюме
Потому что ещё раз. Рынок стоит. Вакансии тухлые. Сейчас никого не берут - ни джунов не сениоров. Никому не нужен iOS. Единственный варик пилить самому приложуху для стора.
Есть же Upwork и прочая фриланс херня. Плюс, рынок в Рашке стоит, а тут полдвача мечтает уехать отсюда
>>38627
Приложуху для стора уже запилил и выпустил. Пилю следующую уже.
Насчёт джунов - я уже понял. Но насчёт сеньоров - почти все имеющиеся вакансии именно на сеньоров, причём, обновляются они ежедневно, и зарплаты там от 150-180 и до 300. Зачем же все эти вакансии, если никого не берут? Зачем же тогда они их ежедневно обновляют? Что-то тут не сходится.
C upwork и прочими подобными, как я понял по отзывам, куча времени будет уходить не непосредственно на разработку (и тем самым, прокачивание скиллов разработчика), а на поиск заказов и согласование деталей, то есть, на блядскую менеджерскую работу. И, опять же, судя по отзывам, пока у тебя там малый рейтинг, заказы тебе никто давать не будет, разве что забесплатно.
Да, сначала за копейки, но потом лучше
Так ты видел когда эти вакансии были созданы? Висят по пол-года-году. Обновляются потому что hr отделы создают видимость работы. Они отбирают кандидатов, но босы их забраковывают. Это вообще некое офисное развлечение искать сотрудников. Разбавляется так сказать каждодневная рутина.
>Есть же Upwork
Там нужны в основном андроид-иос комбайны для арабов и индусов. Не понимаю вообще, что там происходит и зачем там это всё.
Да, вакансии висят и правда месяцами: когда я начал искать работу 2 месяца назад, вакансии были процентов на 75 те же, что и сейчас. Закрылись ну процентов 25, максимум. При этом, все эти замечательные вакансии обновляются практически ежедневно.
Чот я не верю. Или ты недоговариваешь, и есть значимые вещи, о которых ты умолчал, и которые негативно влияют шансы трудоустроиться, или ты тупо вбрасываешь тут, чтобы демотивировать народ.
>>38681
>Чот я не верю. Или ты недоговариваешь, и есть значимые вещи, о которых ты умолчал, и которые негативно влияют шансы трудоустроиться, или ты тупо вбрасываешь тут, чтобы демотивировать народ.
Нет, к сожалению, это не вброс. Ситуация реальная.
Сам такого не ожидал. Знал бы, что так будет, вообще бы не брался за iOS. Джавой бы занялся лучше.
А конкретно о каких таких вещах, негативно влияющих, ты говоришь?
И да, я понимаю ваше ехидство по поводу 1С - 1С это то ещё говнище, далековатое от нормального программирования. Но, тем не менее, я эти 10 лет не "сидел на 1С", как один анон выразился, а сделал множество разных проектов, многие из которых довольно сложны. Это я к тому, что я конечно говноадинэсник, но не 1С-даун.
Добавлю также, что у меня порой возникает ощущение, что вот этот вот 10+ -летний 1С-ный опыт в резюме и отпугивает рабовладельцев работодателей.
Но, скорее всего, ситуация на этом рынке и правда полная жопа.
3-4 года назад я жалел, что занялся когда-то 1С, а не нормальным программированием. Потому что 1С нахуй нигде, кроме этой страны не всрался.
Сейчас я вдобавок жалею, что занялся iOS разработкой. Потому что работы в этой сфере внезапно не стало.
И с 1С я сам виноват, долбоёб, что не подумал в конце нулевых о будущем вне Роисси, занявшись этой шнягой. Но вот с iOS - кто мог знать, что такая ситуация сложится? Обидно пиздец.
Значит тебе 30+ должно быть.
Вообще мне было бы похуй на то чем челик занимался до этого. Хрюшам даже ничего не говори, они на 95% все ебанутые которые путают даже стек вакансий с ведройдом и иосом. Если бы ты нормально хуярил - я бы взял. А то, что ты обжс не знаешь - это огромный минус. Я указал в шапке что есть чатик в телеге - там закинули недавно книгу по обжс для тех, кто шарит в свифте.
>Джавой бы занялся лучше.
Вообще хуй знает, будем смотреть в мае гугл ИО и нам скажут, будет ли в ближайшие 2 года ведройд закинут или нет. Там же новая ось появляется, через 5-6 скорее всего будет продаваться, а может и не будет. Небольшая паника пока в сообществе. Некоторые уже и на флаттер смотрят, так как ОСь включает в себя его язык.
А рх свифт вообще для маленьких. Там ничего сложного нет.
Чекнул сейчас hh на junior ios: в Москве 16, в Минске 24 лол. Вообще, думаю ты зря переживаешь так и в течение пары месяцев устроишься.
Чтобы быть уж до конца точным, добавлю также, что навыки про GCD и REST API / JSON появились в резюме только месяц назад. И, соответственно, на первых 2 из 4 прошедших собеседований, на вопросы про сеть и GCD я отвечал, что не работал с этим. К следующим 2 я уже освоил эти вещи.
Бля что-то я напутал, а вообще странно, что ты аж 2.5 года хуйней страдал прежде чем попробовать.
Я 34 lvl, но в резюме это не указано. Более того, год окончания ВУЗа, который указывать необходимо, я подвинул, чтобы выглядеть на несколько лет моложе. А что ещё?
Ой блять пиздец. Если ты живешь в дс или дс2 хули париться?
Это у меня блять в городе 5 вакансий по iOS. Просто ПИЗДЕЦ
Два чаю тебе за книгу, гляну. Я купил вот на днях Кочана последнее на данный момент 6-е издание на русском, но взяться ещё не успел.
Хрюшам то я ничего и не говорю, вот только в резюме-то всё написано про мой предыдущий опыт, не опускать же его вообще. Ведь если в резюме у чувака, закончившего ВУЗ в конце нулевых, из опыта работы только 2,5 года фриланса на iOS, это ведь они подумают, что дядя наверное мотал 10-ку по 228.
Освоил это как? Как с помощью gcd сделаешь тред сейф переменную, чтобы можно было читать-писать безопасно?
Ну не хуйней страдал, а изучал всё с нуля. Цель была - выучить базу, сделать и релизнуть приложение, и тогда уже, хоть с каким-то портфолио, так сказать, идти по собесам. Напомню, я работаю фуллтайм, и на работе ничем кроме работы времени не было заниматься скроллинг харкача не в счёт
>34 lvl
>год окончания ВУЗа, который указывать необходимо, я подвинул, чтобы выглядеть на несколько лет моложе
Чувак, тут на десяточку надо год подвинуть. а не на несколько лет
Освоил - это знаю какие виды очередей и для чего и как их использовать, выполняю dataTask асинхронно, группы использую. Как сделать то, что ты написал - вот так сходу не скажу. Освоил - в таком объеме, чтобы на интервью можно было на вопросы по GCD ответить, так скажем.
На 10-ку это как-то too much. Да и по фото ж видно наверное, что мне не 24. Ёбаный возрастной геноцид - у меня вот сейчас мозг-то работает лучше, чем 10 лет назад.
Да оставляй 34. Всегда ведь есть удалёнка где твой ебальник не видно будет. Про возрастной геноцид это опять к вопросу о гнилости рынка. Тут он думаю играет тоже роль. Такой хуйни в дс2 много я заметил. Бля мне аж тебя жалко стало. Короче перекатывайся в деревню и устраивайся на удалёнку за копейки. Никто тебе больше 40р не даст, готовься к этому. И на ближайшие пару тройку лет 40р в месяц - твоя реальная перспектива. Гит подтяни.
Про 40р в месяц это конечно толсто. Я сейчас за аренду однушки на окраине ДС почти столько плачу. А вакансии на ждунов появляются в месяц 2-3, тыщ на 60-80, и уходят они довольно быстро. Но там требования поменьще того, что я умею. Поэтому, я уже на мидла мечу. Тем паче, что на 60-80к в ДС тупо не прожить, если у тебя съемное жилье. Хотя, конечно, есть и особо охуевшие рабовладельцы, где требования явно уровня мидла и выше, и предлагают они те же 60-80к.
Можно и через семафоры, но с ними можно обосраться, поблочив выполнение вызывающего кода. Можно создать свою конкаррент кью, читать значение через sync, а писать через async с флагом .barrier (это заставит все куски кода в кью выполниться перед текущим, по сути на время выполнения текущего куска кью становится сериальной).
Круто, спасибо, попробую сделать.
>Просто непонятно как в той же телеге обсуждать какие-нибудь значимые и интересные вещи.
Неистово двачую. Раньше форсили соцсети, вообще не приспособленные для серьезных обсуждений, а теперь им на смену пришли мессенджеры с еще более убогим форматом, не позволяющим структурировать информацию вообще.
>>38619
И как в говночатиках можно обсуждать несколько тем одновременно? Это даже во вбыдлятне и в этом тредике проблематично делать. На тематических форумах десятки разделов с подразделами были, и темы, которые обсуждались месяцами до полного исчерпания вопроса, а не уплывали в глухие ебеня за неделю. И это правильно.
А я думаю что ты просто посредственный даун, неосилятор, который не может затащить на должном уровне, все же нужны рок звезды, а тупые джуны нет, вот и весь вопрос.
Очень конструктивно. Ты, должно быть, менеджер по продажам?
Тогда походу забей, потому что тут идеальные условия в реалиях раши, если ты тут не закатываешься так долго то уже наверное все...Выход только фол ин делать, увольняться с работы и фулл тайм ебошить гейос! И тут уж выстрелит или ты станешь бомжом.
Это против правил!
можно еще придумать себе годик опыта, типо работал на фрилансе и вкинуть в резюме ссылку на какое-нибудь приложение для заказа пиццы в гонконге
>темы, которые обсуждались месяцами до полного исчерпания вопроса
Эти темы становились не читабельны. Когда 10 или больше страниц, устаешь все перечитывать. В чатах есть нормальное цитирование, если тебе ответили, то можно перескочить сразу на то место, на форумах такого нет. Есть еще Slack, крайне удобная штука для такого.
Да ну. Я-то помню, как зачитывался такими многостраничными темами. На форуме все еще проще, чем у тебя в чате - если в твою тему ответили, то это в 99% случаев по теме. Слак да, получше.
>если в твою тему ответили, то это в 99% случаев по теме
Ага, конечно. Начинаются споры, выяснение отношений, каждый доказывает свою правоту, и всем уже плевать на вопросы топикстартера, все уже забыли про них. Знаем, плавали. Горячие темы бывает так разгораются, что за пару дней по 20 страниц флуда накатывают. Поэтому форумы считай умерли. В том же телеграме или слаке такой проблемы нет.
что писать в What's New in This Version ?
Гуглю всегда на инглише и не знаю проблем. За бугром всегда исчерпывающе изучают проблему . А иногда вступлю в чатик в телеге, так бомбит. Всегда найдётся местная бригада: умник, который отвечает очевидные вещи в стиле «я бы там посмотрел»; клоун, которому больше негде шутить; пацифист, который изо всех сил пытается наладить гармонию в этом парашнике. Потом гуглишь вопрос на английском и находишь ответ за две минуты, в очередной раз покидаешь парашник, идёшь мыться. Фу нахуй.
А я по свифту никогда ничего не гуглю. Только по юикиту гуглю и по прочему аёсовскому дерьму. Кстати уже давно ничего не гуглил. Кто что последний раз гуглил?
>Цель была - выучить базу, сделать и релизнуть приложение, и тогда уже, хоть с каким-то портфолио, так сказать, идти по собесам
Знаю это чувство
Пилил приложение 3 месяца
На нескольких собесах обосрался
На крайнем спросили сколько жму на турничках и из какого я вуза и собственно всё, череда неудач закончилась
Это было несколько лет назад
Не ссы всё получится
Я просмотрел классы / стракты + проперти вкладки и почему то там ни одной ссылки на ЭТО НЕТ
А, они здесь https://docs.swift.org/swift-book/LanguageGuide/AccessControl.html
>>39649
Я уже умею под него писать, сори.
в моем 0 вакансий ios, задавай свои ответы
Нет, я пока не понимаю зачем они вообще нужны и не видел примеров даже нормальных. Весь попенсорс залит с прошлыми 2-3 годами, даже смысла нет клонить и что-то там пытаться собрать. Иногда лажу, но чисто из маленького любопытства.
Всё верно. На Свифте можно писать код на чистых функциях, всякое убожество didSet и ему подобное отправляется на помоечку.
Вот например, я хочу построить запрос где я отдаю лист айдишников - а возвращает мне кор дата те, которые существуют. Куда копать?
header
-1-2-3-
-4-5-6-
-7------
-footer
типо такого. Попробовал проста размер задавать в sizeForItemAt, но когда в конце не хватает одной ячейки, эти крайние ячейки по бокам почему распологаются
-4-5-6-
-7---8-
-footer
https://developer.apple.com/documentation/foundation/url_loading_system/fetching_website_data_into_memory
ох блед, там же встроенный footer есть
Делегаты/коллбеки, гугли retain cycle.
>1341816
Если ты нафаня, то можно хуй забить на них. Сейчас у телефонов столько памяти, что обычный нафаня её не забъёт. Другое дело, что негоже не знать как кложуры и ARC работает. Тебе надо подучить эту тему и попрактиковаться на минипрограмках.
Ссылка на контроллер запеклась в кложуре, он не деинициализировался. Если там ничего противозаконного нету, то приложение не упадёт.
Ну вот например, открыли контроллер и сразу с него ушли
func updateUIData() {
ServerAPI.getBigAmountData { data in
self.updateUI(with: data)
}
}
Ох ебать, неужто под запекся ты имел ввиду то, что это экземпляр контроллера останется в памяти связанный только с кложуром, и когда вернется респонс, он всетаки обновится существуя в сферическом вакуме, а юзер открыв снова этот контроллер запустит уже другую связку контроллер-кложур, будто существование параллельной вселенной? Я наверное игрался с unowned и перепутал с данным случаем
Так и будет, вьюконтроллер не будет отображаемым, но будет в памяти. Но это все равно хуйня, там же логика какая-то может быть по таймеру, например, тут дело не только в утечке памяти. Короче сразу нормально делай - нормально будет.
Да, контроллер это всего лишь класс и он живёт в куче. То что ты сказал "в вакууме" это и называется retain cycle. Специально для тебя написал структуру имитирующее это поведение, которую ты можешь собрать и запустить с помощью Package Manager следующим кодом:
AppEmitter().run()
Советую тебе поизучать PM, шикарный инструмент после которого я хуй положил на плейграунд. Вот эта структурка
https://pastebin.com/xnvL0zL6
Тогда вот еще в нагрузочку вопрос, достопочтенный анон. Я когда начал фрилансить, кучу проблем себе нарыл сразу пытаясь делать адаптивные интерфейсы: привязывал размеры элементов к размерам экранов, во всю использовал стеквьюхи, что с этой самодельной адаптивностью не вывозило, да и сам я путался в том, как решить проблемы с констрейнтами, со шрифтами вот все не мог понять, как их менять под размер экрана, кроме как зависимостью от compact/regular. Время шло, я начал подмечать что в некоторых примерах задаются элементы фиксированных размеров, более того, элементу ЗАДАЕТСЯ ФРЕЙМ. Удел плебеев - подумал я, не могут справиться с более адаптивной логикой. Но в последнее время стал более лоялен к этому, и пробую сам так делать, такое чувство будто я программирую матерными словами. Как всетаки обстоят дела с адаптивность? Вот есть дизайн для восьмерки, если слепить то же что и на нем, а потом запустить на плюсе то будет более просторненько, может даже неприятно глазу, это норма? Что говорить заказчику в таком случае? А то у меня мания учиться делать все идеально, потому не могу избавиться от своих же доебов, что интерфейс должен адаптироваться чуть ли не в процентном соотношении к экрану.
https://github.com/toure20/Dalagram_iOS
как вам такое? я не профи, но вроде как по клинкоду, приятно разбирать
>интерфейс должен адаптироваться чуть ли не в процентном соотношении к экрану
У людей с большими экранами маленькие члены, пальцы не больше, а зрение не хуже. Просто посмотри на крутые универсальные приложения в сторе - многие даже для айпадов не трогают размеры шрифтов и кнопок, а проектируют интерфейс по-другому.
Говори что адаптивность это важная часть разработки, требующая дохера времени и сил, а это так и есть. Ну а вообще я лично предпочитаю делать лейауты вручную фреймами, нежели констрейнтами, потому что мне так больше нравится, можно делать симпатичные структуры считающие геометрию. Стек вью реальна хорошая тема. Но я даже её не юзаю. Вообще не в курсе про адаптивность и про все новшевства автолейаута. У меня ни времени не желания нет с ними разбираться, не необходимости как таковой, так как я стремлюсь всё к более и более низкоуровневому подходу. Вот тут один анон на openGL рисует, вот это я уважаю и сам к этому стремлюсь. Есть очень и очень много ньюансов в реальных проектах, которые не решает автолейаут. Например тот же кор текст, с помощью которого только и можно рисовать баблы в месенджерах. Вот тут всё время спрашивают про эталонный проект. Чувак, качни соурсы телеграмма и охреней.
>For speedy resolution of memory corruption issues, we recommend regularly auditing your app with Xcode’s memory debugging facilities: Visual Memory Debugger, Zombies Instrument, Address Sanitizer, Thread Sanitizer and malloc diagnostics.
что юзали, что посоветуете? для лошар
Я так понял что делать разницу между устройствами не стоит. Разве что между айфоном и айпадом, но функционал позволяет это сделать безболезненно. Просто на одном проекте дали дезигн под 5 и под X айфоны. Делал доп методы adoptFonts, которые проходились по лейблам контроллера и меняли размер шрифта.
Кто как хочет так и дрочит, я смотрю с этими snapkit-ами даже в автолайаут просто, да и не сомневаюсь, что с фреймами все путем, если иметь хорошее представление о картине в целом. Сурсы телеги видел но не разбирал, да и это понятно, всегда смотрел на телегу и считал ее пиком аккуратности и завершенности. Не мудрено что там все на более низкий уровень уходит, чтобы каждую мелочь отточить. Я на такие проекты может и не попаду никогда, вот в чем дело
>Показывает
И где это он показывает? Сравни со вторым пикрилом - где даже есть ССЫЛОЧКА чтобы СРАЗУ ЖЕ ПЕРЕЙТИ к крашу.
Будешь мне здесь рассказывать свои сказки.
Ну у тебя похоже кор дата падает. Системные фреймворки он не показывает. Только в твоём коде он строчки показывает.
MassiveViewController
Никакие нахуй бест брактис. Что-то утекает? А не похуй ли тебе? В иосе оч много памяти + шустренько работает, в отличии от шаемипрошивок. И тут нет прям таких год обжектов из которых все можно вытаскивать.
Тупо берешь и наслаждаешься когда тыкаешь анимацию и строишь ручками леяуты.
По каждому разделу существуют бест практисы. Конкретно по тредам: не пользоваться тредами, пользоваться Grand Central Dispatch. Все бест практисы лежат в видео с WWDC конференций. Ищи любую тему и смотри видео, там их очень много. Можешь смотреть с 2018 года, в любом видео есть ссылки на предыдущие видео, которые надо посмотреть. Но обычно в начале видео идёт рекап технологии, потом идут бест практисы. Например последнее что помню из бест практис: использование протоколов в юнит тестах вместо конкретных типов.
ТОГДА ПАЧИМУ У МЕНЯ СЫПЯТСЯ EXC_BAD_ACCESS KERN_INVALID_ADDRESS В ФАБРИКЕ, АА? но надо признать, 99.98% на ведроиде мне никогда не видать
> в видео с WWDC конференций
Я заметил что там только видео с прошлого года. Вот захочу я посмотреть практики из 2014 года, так мне придется гуглить уже чтобы найти оф ссылку на эот.
В 2014 и раньше всё устарело. Есть кое-что совсем низкоуровневое и там, например OpenGL и что то из сетей. Но там всё на Objective-C, продираться через него то ещё удовольствие. Раньше 2015 года нет смысла идти. Все года можно на сайте найти. Там конечно ебанутая навигация, не спорю. Сам матерюсь от неё.
Поды, которые парсят хттпшки это пережиток времён когда всё было на обджектив сях, когда ещё был жив NSURLConnection тогда имел смысл заебстись с подами чтобы сэкономить время на всём этом. Сейчас же всё стало слишком просто для того чтобы выполнить банальный хттп запрос на стандартной экосистеме. Ты ещё просто не дожил до того состояния когда бесишься от того что твой проект долго собирается лишних 5 секунд, насрано в конфигах, и много какой то левой хуйни тянется и тебя это бесит. Сейчас поды имеет смысл ставить когда нужно кастомная работа с коре графиксом, всякие зумы фоток и прочая поебень. Для хттп запросов смысла в них уже нет.
но ведь попадется какой-нибудь запрос с ответом, в котором единственный нужный элемент находится по пути jsonResponse["root"]["data"]["address"]["local"]["name"]["huy"], тебе теперь принципиально не юзать сторонние либы а городить елку? Просто интересуюсь, пример один из множеств случаев
Почему то встроенного дебагера, который получает респонс или еррор НЕТУ.
Из-за этого приходится использовать аламофаре. Так что не пизди мне тут.
Я давно чего то не работал с хттп, но насколько я помню в UrlTask ты передаешь кложур, который таск вызывает по завершении и передает туда два аргумента дата и URLResponse. Ты можешь взять этот респонс и поглядеть что он такое. Вообще с нашими кривожопыми бекендщиками помоему только на таком уровне и можно работать, я думаю алмоваре не выдержит реального форкфлоу.
Я тут пробую вкатиться, баловаюсь, пособите долбоебу, никак не пойму
func get_json() -> Void {
guard let url = URL(string: "http://127.0.0.1:5000") else { return }
URLSession.shared.dataTask(with: url) { (data, response, error) in
guard let data = data else { return }
guard error == nil else { return }
do {
let product = try JSONDecoder().decode(Obj.self, from: data)
print(product)
} catch let error {
print(error)
}
}.resume()
}
print - это заебись, конечно, а как сохранить в переменную полученный json, чтоб потом с ним работать?
Спасибо!
обьявляешь до создания таска переменную,
var variable: Product? = nil
task...
внутрь кложура передаешь эту переменную в кложур (variable = product), таким образом происходит запекания значения variable внутрь кложура, и оно будет жить пока кложур не закончится, даже если в оригинальном контексте эта функция подохнет
Core Data Editor
И вот что я заметил, в первом случае не получится строить охуенные интерфейсы, отрисовка идет по шагам, и пурпурный цвет отрисовывается ниже зеленого, что НЕ должно БЫТЬ по ЛОГИКЕ.
Но мне то похуй, меня волнует этот товарищ на втором пикриле. Какого ХУЯ при двух КОНСТАНТАХ у него СРАЗУ ЖЕ пурпурная вьюшка находится НИЖЕ СИНЕЙ ЧАСТИ? У меня почему то блять так НЕ РАБОТАЕТ как мы видим на пикриле 3.
Но я конечно уже повидал говна, пришлось залеть на гитхаб и потеребенькать сорцы. Я там нашел и оказывается, нужно задать ЕЩЕ ОДНУ КОНСТАНТУ, и объявить опять через addConstant - height, самая нижняя строчка.
Последнии шаги меня окончательно ввели в ступор. Как китаец после 2 констант + использование format разметки добивается результата, когда мне приходится еще дополнительную завязать константу + удалить все мои format билдиры на эту вьюшку и использовать другой пусть по созданию height.
Пиздец.
Юзай layout anchors, заебал. Поддержка с iOS 9.
Это ты раньше бугуртил, что нигде про модификаторы доступа не написано? Так и будешь спотыкаться на всякой хуйне, пока не начнешь документацией пользоваться.
на рутрекере вбить в поиск "развернутая OSX 10.x для vmware"
Добрый анон, спасибо тебе. Я. правда, попробовал иначе, через класс, но я дико охуел от того, что если в init классу написать забрать json, то создать инстанс в этом классе и тут же вызвать поглядеть его пропертис - не канает, я поседние волосы с жопы выдрал, пока не получилось. А если подождать - так работает.
import Foundation
struct AccHist: Decodable {
var v_amnt: String
var v_ts: String
}
class AccHistory {
var inside: [AccHist]?
init() {
let url = URL(string: "http://127.0.0.1:5000")!
URLSession.shared.dataTask(with: url) { (data, response, error) in
guard let data = data else { return }
guard error == nil else { return }
do {
self.inside = try JSONDecoder().decode([AccHist].self, from: data)
} catch let jsonErr {
print(jsonErr)
}
}.resume()
}
func show() {
if let showed = self.inside {
for item in showed {
print(item)
}
} else {
sleep(1)
show()
}
}
}
var foo = AccHistory()
foo.show()
Может, есть цивилизованный способ? Этот пиздец, чувствую, ну совсем не годится
Добрый анон, спасибо тебе. Я. правда, попробовал иначе, через класс, но я дико охуел от того, что если в init классу написать забрать json, то создать инстанс в этом классе и тут же вызвать поглядеть его пропертис - не канает, я поседние волосы с жопы выдрал, пока не получилось. А если подождать - так работает.
import Foundation
struct AccHist: Decodable {
var v_amnt: String
var v_ts: String
}
class AccHistory {
var inside: [AccHist]?
init() {
let url = URL(string: "http://127.0.0.1:5000")!
URLSession.shared.dataTask(with: url) { (data, response, error) in
guard let data = data else { return }
guard error == nil else { return }
do {
self.inside = try JSONDecoder().decode([AccHist].self, from: data)
} catch let jsonErr {
print(jsonErr)
}
}.resume()
}
func show() {
if let showed = self.inside {
for item in showed {
print(item)
}
} else {
sleep(1)
show()
}
}
}
var foo = AccHistory()
foo.show()
Может, есть цивилизованный способ? Этот пиздец, чувствую, ну совсем не годится
Замыкание, в котором ты присваиваешь значение inside, выполнится только после того, как данные будут получены. А ты ждешь что они будут получены мгновенно, вызывая show сразу после создания объекта. Дефолтный совет opt+click по любой непонятной хуйне, в твоем случае по dataTask.
Я только что это объяснял, почитай тред отсюда
>>42225 эти вопросы пересекаются. Так же правильно говорят, полазий по документации хкод, она очень хорошая, для твоего случая есть целый раздел в корне
Preventing Timing Problems When Using Closures
https://developer.apple.com/documentation/swift/preventing_timing_problems_when_using_closures
Ты более менее правильно мыслишь. Твой код работал бы, если бы дата таск не принимал @escaping closure, а принимал обычный кложур. Когда видишь апи, который хочет @escaping closure готовься к геморою. Это значит что кложур будет выполнен спустя какой-то время а не прямо сейчас.
Ну да, в доке нашел что через лидинги полегче бахать.
func multyply0(n: Int, a: Int) -> Int {
print("n: \(n)")
if n == 1 {
print("result is finded")
return a
}
let intermediate = multyply0(n: n - 1, a: a) + a
print(intermediate)
return intermediate
}
Да
В оригинал это выглядит так, это я просто дебагеры расставил, которые ясности не внесли
не понимаю, почему всякое говно нерелевантное входит в топ 10 по интересующему меня поисковому запросу, а мой апп с оптимизированным названием, словами из запроса в subtitle, keywords, description в какой-то жопе, чесслово
сделал и иконку вроде норм и скриншоты, все равно приложение затеряно где-то на дне аппстора, добавил еще больше ключевых слов в subtitle, так еще ниже упал
(с практически таким же названием иконкой и скриншотами в google play стабильно вхожу в топ 5 по запросу)
Вроде слухи были что разработчиков из России щимят
https://developer.apple.com/app-store/search/
Все просто: количество загрузок влияет на позицию не только в рейтинге, но и в поиске. Можешь через какой-нибудь advertmobile.net купить поисковых загрузок для определенных ключевых фраз, и если приложение хорошее, оно останется на первых позициях.
Алсо, отзывы не рекомендую брать через такие сервисы или же брать максимально осторожно - забанят нахуй.
Почитал, спс, анон
Google+, но Google+ в апреле закрывается, так что он теперь не подходит.
firebase
а если вообще заморачиваться не хочешь, то оставь просто ссылку на форму в гугл документах с двумя полями email и message - этого достаточно
Попробовал сделать из программно, используя SnapKit и возможности автолайаута, то есть набрасываю в кастомную вьюху элементы, "стягиваю" их констрейнтами, и получается что вьюха сама задает себе высоту когда я добавляю ее в иерарихию вьюх контроллера(там тоже все связано между собой констрейнтами). Но вот попробовал пилить кастомные вьюхи в xib - мне это дело показалось очень удобным, не приходится читать заборы кода для простенькой вьюхи, все набросано в сториборде, а логика в соответствующем классе(тот случай когда в ините кастомной вьюхи инициализируется nib и добавляется как дочерняя вьюха). Только вот вопрос(разумеется к тем, кто с этим имеет дело непосредственно) - как в этом случае сделать, чтобы вьюха сама задавала себе размер? Когда я добавляю ее в сториборд, она ругается на то, что неизвестна высота(но она будет известна когда проинициализируется сама вьюха). Тогда я выставляю этой вьюхе фиксированную высоту в сториборде, но приоритет задаю 900 - теперь все работает, но не всегда. Особенно когда эти вьюхи в скроллвью. Есть ли тут боги верстки? Хочу вкатиться в эти детали, а то плаваю чуток.
Я понял что это за хуйня
https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/xcode_guide-continuous_integration/index.html#//apple_ref/doc/uid/TP40013292-CH1-SW1
это вот это вот дерьмо. правда не вижу пока чтобы там работала командная строка
Спасибо анон, очень годный совет, хоть и очевидный. Отсюда следует еще один вопрос, который уже очень долго не дает мне покоя. Что делать, если рисую в IB, по всем канонам выстраиваю скролабл контент(скролвью->контентвью с той же шириной), и в контентвью у меня содержатся эти самые вьюхи, которые зададут себе высоту в ходе выполнения, но IB ругается, думает что эта вьюха простой хуй, и она не знает своей высоты.
И что будет?
Крепкому мидлу падает по три заявки от хрюш в пол года. Шанс найти работу для мидла 1/3 за пол года и 1/2 за год. Я бы сказал, что скорее нет, чем есть.
В пидорашке - нет, а в нормальных странах - всё по прежнему: была, есть и будет.
пиздиш
Ну ясен хуй, ты к нему как к структуре Студент обращаешься, в не как к сущности, конформящей протокол Персон.
Кароч катился я 5 месяцев примерно и началось заканчиваться бабло. Пришлось срочно искать работу. Куда пойти когда нихуя не умеешь? (относительно разработчика конечно) Пошёл в тестировщики на мобилки, геймдев, контора сразу меня обмазала меня техникой эпл, и макбук прошку дали и айпадов, айфонов ебом, бери что хочешь, пользуйся чем хочешь. Сижу с посанами тестирую, в целом весело конечно, но немного переживаю за своё будущее, я хочу через 2-3 года получать 2к $, по мне это хорошая сумма для жизни. Но есть опасения что в куа я этих денег не увижу. И здесь я подумал, что а почему бы не вкатиться, точнее попробовать вкатиться в разработку под айос? Даже если не пойдет, то для работы всё равно полезно будут хоть какие-то знания, всё равно в хкоде ковыряюсь, логи снимаю, парсю билды появятся еще какие-то более глубокие знания всего этого.
А теперь к сути. Можно ли начинать учить сразу со swift? Что по конкуренции? Мне кажется, что пониже чем во фронтенде должна быть. Я на самом деле сейчас охуеваю сижу с конкуренции в куа, со слов лида он провел около 170 собесов, за последние пару месяцев и взял только 3 человек, нас сейчас 3 жуна на испыталке. Мне кажется что во фронте что-то похожее происходит. Насколько сложнее swift сложнее того же жс? Если я не осилил вкат во фронт, то я совсем безнадежен? Что имеет по деньгам средний сфивтер по деньгам через год? Как дела обстоят с РЕВОЛЮЦИЯМИ? Жутко бесил фронт, что каждую неделю какие-нибудь хипстеры делали в нём новую РЕВОЛЮЦИЮ, берешь курсы по реакту за 16-17 год, а там уже устаревшая параша и никто так не пишет мол, сейчас другие бест практис от этого просто не успеваешь тольком нихуя выучить, как новая хуйня появляется. Ну кароч, анончики жду советов мудрых.
Кароч катился я 5 месяцев примерно и началось заканчиваться бабло. Пришлось срочно искать работу. Куда пойти когда нихуя не умеешь? (относительно разработчика конечно) Пошёл в тестировщики на мобилки, геймдев, контора сразу меня обмазала меня техникой эпл, и макбук прошку дали и айпадов, айфонов ебом, бери что хочешь, пользуйся чем хочешь. Сижу с посанами тестирую, в целом весело конечно, но немного переживаю за своё будущее, я хочу через 2-3 года получать 2к $, по мне это хорошая сумма для жизни. Но есть опасения что в куа я этих денег не увижу. И здесь я подумал, что а почему бы не вкатиться, точнее попробовать вкатиться в разработку под айос? Даже если не пойдет, то для работы всё равно полезно будут хоть какие-то знания, всё равно в хкоде ковыряюсь, логи снимаю, парсю билды появятся еще какие-то более глубокие знания всего этого.
А теперь к сути. Можно ли начинать учить сразу со swift? Что по конкуренции? Мне кажется, что пониже чем во фронтенде должна быть. Я на самом деле сейчас охуеваю сижу с конкуренции в куа, со слов лида он провел около 170 собесов, за последние пару месяцев и взял только 3 человек, нас сейчас 3 жуна на испыталке. Мне кажется что во фронте что-то похожее происходит. Насколько сложнее swift сложнее того же жс? Если я не осилил вкат во фронт, то я совсем безнадежен? Что имеет по деньгам средний сфивтер по деньгам через год? Как дела обстоят с РЕВОЛЮЦИЯМИ? Жутко бесил фронт, что каждую неделю какие-нибудь хипстеры делали в нём новую РЕВОЛЮЦИЮ, берешь курсы по реакту за 16-17 год, а там уже устаревшая параша и никто так не пишет мол, сейчас другие бест практис от этого просто не успеваешь тольком нихуя выучить, как новая хуйня появляется. Ну кароч, анончики жду советов мудрых.
>геймдев
Не заметил, это хуево кста. Куа в геймдеве - это, как правило, мартышки, которые не растут, так что действительно имеет смысл задуматься о чем-то другом. Но мобдев сейчас такое себе, в обоих тредах ноют что работы нет. И всякие флаттеры с фуксиями от гугла определенности не добавляют.
А мне нравится геймдев. Я спецом искал геймдев, мне интересно это. Да и на самом деле здест важна платформа, мобилки, чем сам продукт. По сути в ui один хуй куда тыкатт в игрульку или в очередной говно калькулятор или тудулист. Здесь главное специфика мобайла, тестирование рекламных сеток от гугла, фейсбука и т.д. умение работать с хкодом и андроид студио, ну и всякие впн и т.д.В тестерах счас вроде наоборот мобильщики самые востребованные, т.к. их мало. Через год планирую как раз и отликаться на мидла в геймдев и просить 1500 $по курсу.
ну если ты такой умный, хуле за советами пришел
Я уже три года его читаю и нихуя не понимаю
> Тогда и не понятно зачем полю age давать онли { get }, если и так и так получается менять
> Ну и зачем мне тогда писать в скобочках {get set} ? То что соблюден я это знаю.
https://pastebin.com/XDcsc6Lf
>Вырывать что-то из контекста и преподносить, а в прочем, понятно где мы сидим.
Не обращяй внимания. Это от недостаточного понимания материала. Фишка эпл это продавать и делать умные вещи. Они сделали очень умный язык и продали его так, как будто это самая лёгкая и доступная изи вещь в мире и что даже любой технарь может в него вкатиться. Вся эта суперпозитивная подача на ввдц, посде которой охуевший зал радостно хлопает в ладоши хотя никто НИХУЯ не понял. Я тебя уверяю, что свифт никто нихуя так и не понял. Это супер научное достижение, и чтобы его понять нужны ГОДЫ.
>Я тебя уверяю, что свифт никто нихуя так и не понял. Это супер научное достижение, и чтобы его понять нужны ГОДЫ.
Ладно, извини я не хотел тебя обидеть. Я наверно правда тупой.
>Так лучше не делать.
Какие ваши аргументы?
https://ru.wikipedia.org/wiki/Don’t_repeat_yourself
WET
Отлично.
Но мало того, что решать это наследованием — зло (особенно в Свифте, где Бог дал протоколы). Так ещё и речь о вьюхах.
Там про наследование нигде написано не было, перечитай цепочку.
А есть норм приложения на нем? А то что не смотрел - все говно. Даже ковырять не хочется. Еще и в прошлых тредах анон, который на реакте ебашит, писал что флаттер не такой пиздатый.
Окей, запили мне вот такой апп на иосе.
https://itunes.apple.com/us/app/the-history-of-everything/id1441257460
Чел, ты в серьез пишешь, что флаттер может больше нативных средств разработки? Я даже не уверен, что он дотягивает до них.
По сабжу, это было вторым приложением после Reflectly, которое я смотрел. Увидел кое-какие недочеты, проблемы с базовой анимацией как и в других приложениях и удалил.
Таймлайн прикольный, но я бы предпочел увидеть что-то несложное, но хорошо вылизанное вроде Things. Пока то что я вижу напоминает что-то среднее между приложением и сайтом.
А кроме вьюшек флаттер что-нибудь умеет? Ну они допустим допилили норм кроссплатформенность, а что если нужно допилить AR, нейронные сети, и проч проч?
>Зависит от твоего уровня
и каким же он должен быть? и что ты под этим понимаешь? конечно если это не 10 лет опыта и все такое
Для миддлов и синеров вполне есть.
Какое-то удаление леяут аттрибутов, какой то метод без внутри ничего, определения index path, что это за блять такое. Параллельно держу доку на 10 вкладок каждого овверайднутого метода и все равно блять сложно. Что за пиздец. Почему нельзя начинать с малого.
>Почему нельзя начинать с малого.
Рекомендую сначала у Рэя смотреть, там всегда все разжевано со ссылками на уроки попроще, если они нужны.
https://www.raywenderlich.com/392-uicollectionview-custom-layout-tutorial-pinterest
На МК, но шансы мизерные
Как же у меня бомбит с этих блядей из купертино
>In an effort to keep your account more secure, two-factor authentication will be required to sign in to your Apple Developer account and Certificates, Identifiers & Profiles starting February 27, 2019
Суки, конеченные. Теперь мало того что надо телефон привязывать, еще и к девайсу ебучий айклауд прикручиывать. Пиздец, я если я проебу айфон? Как мне блять залогиниться? Ебучую симку хоть восстановить можно. Блядь.
Есть блять TOTP для людей, нет, блядь, надо свой петушиный 2FA сделать, бляди
через инсеты выдрочить имэйдж и лейбл? Они же будут по разному выглядеть на разных девайсах
еще у этих navigationItem.barbutton ебанные области ограничивают по краям
и в гугле нихуя как будто у меня первого такая задача
Вопрос нахуя?
Не выдумывай, ты в любой момент можешь получить смску, нажав на соответвующую кнопку под формой вне зависимости от того, что с твоим тилибоном и пришел ли тебе пуш.
наверное можно использовать аттрибутед текст для кнопки, в котором использовать первый символ как шеврон из авесом фонт
И нахуя тогда привязка к айклауду? Есто что, блядь, обычная анальная дырявая привязка к sms, только еще и с доп гемором? Пиздец, блядь, т.е. они заставляют принудительно вкрутить дыру в аутентификацию? Просто блядь слов нет
уже как-то вылепил через инсеты и на разных экранах примерно одно и тоже
там же, если через этот символ, то эта стрелочка будет маленькая, а не как у дефолтной back ?
Очко у тебя дырявое, а аутентификация самая обычная, как у всех остальных. С той лишь разницей, что тебе не надо качать левое приложения для получения кода.
может ли в viewWillTransition outlet быть nil ?
на ровном месте в фабрике валятся креши EXC_BREAKPOINT, нихуя не понятно, показывает на вот эту строчку
guard let flowLayout = myCollectionViewOutlet.collectionViewLayout as? UICollectionViewFlowLayout else {
return
}
Вакансии, котоыре висять дольше месяца - мониторинг рынка. Проект по факту укомплектован, а ищут дополнительного дурачка, который будет знать всё и просить копейки.
Прямо как я сейчас работаю
У всех остальных нормальный TOTP. Даже у ебучего вконтакта.
А у блядского иппла надо сраный айклауд включать и симку оформленную на свой паспорт палить. Это пиздец какая дырень.
>С той лишь разницей, что тебе не надо качать левое приложения для получения кода.
Это самое левое приложение я могу на любую систему поставить, и даже данные забекапить. А симку не могу. И айфон не могу.
блэд, если в ручную засунул viewcontroller в navigation, то вьюхи не за инфлейтились а viewWillTransition походу вызывается(
Как все знания упорядочить, какую книгу начать читать что по порядку будет тематика, но не для ньюфагов
Также как и где почитать как с нуля правильно строить приложение по правильной архитектуре, потому что блять я всегда приходил в компанию на готовый проект и сидел либо на небольших фичах, либо на багфиксах, самостоятельности никакой нет, а страх с нуля делать - пробовал, какое-то говно уровня васяна делаю и это никак не тянет на 3 года опыта моих
Выбери тему и пили петьпроект может даже под мак и учи свифт. Всякие юай это все не то. Надо систему учить, язык, работу с файлами, сетьевые протоколы. Книгу по линю почитай.
очень полезно, работа с консолью, сети, файлы. Разовьет тебя нормально. Тащемто макось это тот же гну
какую посоветуешь?
Так я работать с ней умею и прочее.
Проблема в том что знания раскиданы, на одной работе там верстал менюшки и прочее, на другой немного сеть ковырял и тд, в итоге всего по немногу и поверхностно. А не глубоко
>>51268
Ок, спасибо, я помню открывал ее, казалось какой-то усложенной с водой без практики, попробую дрочить по вечерам
С неё, очень крутая бука. На место мозги ставит.
А вообще заканчивай книжки скачивать. Это говно полное. Ты себе медвежью услугу оказываешь. Книги надо только покупать.
Да, я просто хочу сделать эту клоаку лучше и общение более качественным. В рамках этого треда ситуация реально улучшается.
Так куча книг ненужна. Нужна одна две мощные книги настольные и всё. Это распространённая практика.
Лол, он тебя траллет. Ты сисадмин или девопёс дохуя, чтобы линь учить? Как раз UI – это то, за что платят на рынке.
Вопрос был всё же в иной плоскости. Анон хочет стать на путь развития до лида тут. Да и юи это верхушка айсберга, как я себе представляю. Чтобы у тебя на экране был шустрый юи надо всё вот это уметь.
я перекатился в менеджеры, так что мне лучше знать
>Анон хочет стать на путь развития до лида тут
Окей, но где он это писал? Тогда всё зависит от его понимания "лидства".
Охуеть. Надо бы весь Xcode перелопатить, уверен что каждая мелочь полезна
> Анон хочет стать на путь развития до лида тут.
Я об это вообще не писал, мне не до лида сейчас, мне бы снова стать крепким миддлом, а потом и сеньером.
> освободить главный поток, если несколько сервисов, находящихся на разных очередях
А главный поток чем занят? Может тебе вообще просто CPU не хватает? Попробуй очередя с сервисами запускать с низким приоритетом, или добавь искуственную задержку между считываниями (миллисекунды хватит).
Ничего в этом сложного нет. Доки.
Если не понимаешь - читай внимательно.
Не укладывается в голове - читай еще больше внимательно. Некоторые вещи приходят спустя время.
И конечно же создаешь проект и практикуешься с маленьких шажков до больших. Это ласт пункт очень важен.
Я тебе это говорю блять как человек, который без всяких ебучих курсов вкатился с нуля. Игнорировал год доки, в итоге хуевое время.
А теперь съеби.
кстати да, на rxjava сто пицот статей на медиуме прочитал, годная дока с примерами, видосы вот это все
начал смотреть rxswift - дока говно, примеры раз два и все, ну видосы не искал пока
вот вкиньте мне пример хорошего mvp на ios ?
спрашивал best practicies/typical mistakes - никто не скинул (и я словил крешей например с data race condition) отдельная тема как фиксить креши - в фабрике валятся вообще не понятные данные, ни стектрейса понятного. ничего. Смотрел видос с wwdc
- чел советует определять креш по адресу памяти! типо, вот у меня глаз наметан - это memory curruption, вот я охуел
ой я не в тот тред зашел
Что именно посоветуйте по алгоритмам учить у них?
А также по архитектуре
Минимальный процессор для программирования хотя бы консольных приложений, про gui и речи быть не может.
Для iOS < 11 корневая вьюха просто игнорит это свойство - делай свою сабвьюху, лепи ее к краям корневой, ей уже ставь отступы и закидывай всю лапшу в нее. Для >= 11 используй directionalLayoutMargins с viewRespectsSystemMinimumLayoutMargins.
Оно устанавливает дефолтные значения где-то между viewDidLoad, в котором ты скорее всего свои пытаешь установить, и viewDidLayoutSubview. Если закинешь их в последний метод - скорее всего заработает.
Я не байтодрочер чтобы сточить заборы, когда можно в пару кликов сделать. Я же скрины прилепил, потому как на них весь "код"
По поводу отступов так и есть, в viewDidLayoutSubview уже переопределенные значения по 16, вот пидорская шлюха
>Я не байтодрочер чтобы сточить заборы, когда можно в пару кликов сделать.
Я тебе так скажу. Ты либо сразу отучиваешься от этой хуйни, либо наживаешь несколько геморройных шишек на анусе, а потом все равно отучиваешься.
Ну пробовал я пару раз избегать сториборды, возвращаешься в свой проект и начинаешь линейно скролить файл и вычитывать где нужно что поправить. Потом попробовал максимально возможно в сторибордах рисовать, в особых случаях естественно кодом. В этом случая, возвращаясь в забытый проект, довольно таки быстро получается найти искомое место так как поиск не линейный, а по абстракциям, да и в файлах порядок, удобочитаемо и по существу. Когда я должен набить шишку?
Про минусы http://lmgtfy.com/?q=why+i+do+not+use+storyboard
Чтобы не было лапши в коде просто определяешь размещаешь вьюху и устанавливаешь констрейты в двух местах: layoutSubviews для вьюх и loadView для контроллеров. А конкретные свойства с помощью ленивой инициализации:
>>56885
Про минусы http://lmgtfy.com/?q=why+i+do+not+use+storyboard
Чтобы не было лапши в коде просто размещаешь вьюхи и устанавливаешь констрейты в двух местах: layoutSubviews для кастомных вьюх и loadView для контроллеров. А конкретные свойства делаешь с помощью ленивой инициализации:
lazy var randomView: UIView = {
let view = UIView()
view.backgroundColor = .red
view.layer.cornerRadius = 10
return view
}()
макаба чудит
Так и делал, я ведь не с неба взял идею кодом рисовать, да и читал подобные статьи, половина аргументов очень частные случаи.
Хотел от анона услышать какие он конкретно шишки набил ну да ладно.
вот скажите мне, какого хуя referenceSizeForFooterInSection вызывается для collectionview которому я не регистрировал footer?
и соответственно я не ожидая этого отдаю там не нулевой размер, и это вызывает viewForSupplementaryElementOfKind, ну просто охуеть
так и делаю, но как-то это не ожидаемое поведение
ГУГЛИШЬ ПРОБЛЕМУ НА ИНГЛИШЕ
@
ПЕРВАЯ ССЫЛКА НА СТЕКОВЕРФЛОУ
@
В ПЕРВОМ ЖЕ ОТВЕТЕ ИСЧЕРПЫВАЮЩЕЕ РЕШЕНИЕ ПРОБЛЕМЫ С ПРИМЕРАМИ КОДА
ГУГЛИШЬ ПРОБЛЕМУ НА РУССКОМ
@
ПОПАДАЕШЬ НА ФОРУМЫ ЭПОХИ WEB 1.0 ПРАВИЛА ФОРУМА НА ПОЛ ПЕРВОЙ СТРАНИЦЫ
@
ЗАПРЕЩЕНО ПИСАТЬ КАПСОМ, КРАСНЫМ ШРИФТОМ, ШРИФТОМ БРАЙЛЯ И УКРАИНСКИМ ЯЗЫКОМ. ЗАПРЕЩЕНО ОБСУЖДАТЬ МОДЕРАТОРОВ. ЗАПРЕЩЕНО СОЗДАВАТЬ НОВЫЕ ТЕМЫ. ЗАПРЕЩЕНО ОТВЕЧАТЬ ТЕМ У КОНО КАРМА МЕНЬШЕ 9000
@
В ОДНОМ ЕДИНСТВЕННОМ ОТВЕТЕ ПТШУТ, ЧТО ТАКАЯ ТЕМА УЖЕ ОБСУЖДАЛАСЬ И ПОСЫЛАЮТ В ГУГЛ
Сегодня спустя месяц вспомнил как ебашутся константы ко вьюшкам, прилепил еще пару, но под все юзеркейсы придется думать и думать, если уж дальше углубляться в построение через код.
С 16 марта уволняюсь с текущей РАБоты и пробую летом устраивается на ждуна. Нужно будет обжс подраздротить.
Интересует архитектура, соответствие паттернам, принципам SOLID.
Т.е. не тупо как создать tableView и вывести в неё данные из JSON, а что-то посерьёзнее. Чтобы и GCD задействовать и всё такое.
Сам я сделал уже дохуя чего, но это всё говнокод.
Хочется посмотреть на то, как реальный практикующий программист называет классы, выносит экстеншены в отдельные файлы, грамотно применяет MVC, вот это всё.
>Хочется посмотреть на то, как реальный практикующий программист называет классы, выносит экстеншены в отдельные файлы, грамотно применяет MVC, вот это всё.
Ты троль? Берешь и пишешь в гит - ios rxswift + another technology. Все.
Не обращай внимания на этих лопухов, они считают должным ответить хоть что-нибудь. Сам перелопатил немало проектов, пару приёмчиков перенял из каких-то проектов, но чтобы прям эталонные, на которые можно равняться во всех смыслах - не видел, но интересно было бы взглянуть. Так что два чаю этому реквесту
привязываюсь к размерам экрана, например, кнопка.ширина = экран.ширина * 0.1
подводные?
Зачем сейчас нужен objc?
Я пробовал в интерфейсе написать int lalala и ничего не писать в имплементашине.
По твоим словам - это работает, по моим - set get нету.
Я напиздел, разумеется. Имел в виду, если использовать @property (attr ...) Class* obj;
> Это я про синглтон, в обоих случаях он живет весь цикл приложения
А потом ВНЕЗАПНО оказывается что тебе всетаки нужно два разных объекта (поменялись требования) и у тебя весь код по пизде идет. shared это попытка сесть на два стула - у тебя с одной стороны есть синглтон. А с другой он какбы и не синглтон тащемта, так как ты всегда можешь создать и второй не shared объект, если вдруг нужно. Если тебе нужна статика (тебе кажется что так красивее интерфейс класса) всегда можно обернуть работу с shared в методы класса. Тогда у тебя будут методы класса для работы без явного получения ссылки на shared, будет возможность получить shared если тебе удобней работать с именно объектом (это нужно для DI, например) и будет возможность создать не синглтонный объект с специфическими настройками, если нужно. И выбираешь что больше подходит под конретную задачу. Швабодка.
читаю тут про firebase диплинки и тут написано https://firebase.google.com/docs/dynamic-links/ios/receive#set-up-firebase-and-the-dynamic-links-sdk
>These methods are called when your app receives a link on iOS 8 and older, and when your app is opened for the first time after installation on any version of iOS.
>If the Dynamic Link isn't found on your app's first launch (on any version of iOS), this method will be called with the FIRDynamicLink's url set to nil, indicating that the SDK failed to find a matching pending Dynamic Link.
Ничего не понятно. Типо после установки вызовется метод, но гарантии что в нем получим диплинку по которой установили апп нет ?
https://qnoid.com/2016/04/10/A-primer-in-HTTP-caching-and-its-native-support-by-iOS.html
>аламофаер
Не данный момент не нужен, действительно лучше написать свою обёртку вокруг NSURLSession.
>snapkit тоже по-моему не так полезны в большинстве проектов
VFL или лейаут фреймами — это боль. Так что он скорее полезная вещь.
Но вопрос: а причём тут байтодрочеры?
>Не данный момент не нужен, действительно лучше написать свою обёртку вокруг NSURLSession
Ты так сказал? А где я буду логи с респонсов просматривать, уеба. А?
Layout anchors есть с девятой оси, нахуй не нужны левые зависимости.
Я RxSwift с RxCocoa использую, там есть экстеншн для нетворкинга.
Последний раз писал код лет 10 назад
Думаю вкатиться сюда
Или не надо?
Мнения, идеи, поливание говном
ннуу, думаю нет
В проектах, где есть легаси-слой на Objective-C.
Или где всё как с самого начала писалось так и пишется на нём.
Нет, можно по-другому, через apple configurator устанавливаешь приложение на айфон, оно сначала скачивается тебе на комп во временную папку какую не помню - гугли в виде ipa - открываешь как zip архив
70-100к наверное
>Ведь на кону выпил приложения из апстора
Ты так пишешь будто это что-то ужасное. Ну уберут его из стора, поставишь галочку в нужном месте и снова отправишь на ревью.
допилить, раскрутить, монетизировать
Да, но если ты поставишь yes то это уже твоя проблема а не еппл, для чего эта галочка и нужна (эпплу прикрыть свою жопу). В магазин приложуху отправят (если пройдет ревью). Репорт нужно (в некоторых случаях) отправлять тебе, эплу на него похуй. Когда говорят что при https отправлять не нужно подразумевается что ты выбираешь пункт yes (типа отправишь) но ничего не оправляешь потому что не нужно. Ну и если ты не гражданин США то тебе наверное в принципе похуй на это, покрайней мере на уровне неуловимого Джо.
Вот так гораздо понятнее. Нам тоже надо, так как сервера апстора в штатах. Да и слать, как я понял, нужно просто на какой-то майл табличку.
Я представляю, выпилили у моего клиента приложение с апстора, а я такой «отвалилось? А ниче! Ща обратно залью!» лол, это по-нашему
был бы батя генерал я бы на говнокоденг хуй бы клал лол, нормально же спрашиваю за направление, хули ты
Я тебе дал направление. В ведротред.
https://www.bis.doc.gov/index.php/all-articles/15-policy-guidance/encryption/560-encryption-faqs#13
Без факсов и чеков вот тебе пожалуйста емайл, который они сами же и предоставляют. Всем спасибо за внимание.
нет конечно
так аккаунт не мой
Нет, такими мы занимаем роботами. Им даешь дизайн - а они ручками его вбивают, строят в запросы, и сейвят в БД.
В основном только мидл+ для контроля над этими процессами.
>>74106
Вы мне лучше скажите, хуле погромистов начального уровня нет, я готов прямо сейчас человек пять-шесть взять, причем вообще с нулевым опытом, научить их и обучить. Но людей вообще нету, за последние полгода хаэры привели только двух жалких школьников, которые не смогли даже пояснить разницу между object type и value type. Хотя казалось бы миллионник. А от пэхапистов и дотнетчиков отбоя нет.
если ты в котосибирске и изучал программирование не только по туториалам "напишем приложение вместе с Дашей за пять простых шагов", то пиши на
Ну, авиа- и железнодорожное сообщение пока никто не отменил.
это какой-то юмор? нужно смеяться?
А тематические треды нахуя по-твоему? Пусть лучше будет полный тред ведроебов вроде того в начале треда с вопросами уровня свифт-гайда, чем "как вкатиться и че работы нету)" В конце концов есть же неподражаемый мы вам перезвоним для такой хуйни.
Не блять "работы нет", а годный анализ.
Верю в тебя :]
Лол, да это ты по ходу дохуя чувствительный вкатывальщик, раз тебя задело предложение таких долбабов с порога нахуй слать.
Нужно быстро комбо прожимать.
Покупать мак, покупать аккаунт. Учить свифт, учить сдк, учить обж-с хотяб в общих чертах. Сидеть на сухарях на джуне или на чёрном хлебе на мидле ещё долго потом. Работы для синьеров нет.
Я таких сразу на собесах валю, что-то типа owned & weak, а если такие вопросы отвечают, то задаю по типу как в протоколе объявить тело методу.
Вкатывальщики сразу сыпятся и я их посылаю нахуй.
> Покупать мак
кстати, няшки, у меня тоже вопрос
я тоже вкатывальщик но не к вам, я ваннаби джаваскрипт макака
вопрос. говорят, что приложухи под айфоны легче монетизировать чем под андроид, но даже на нативном реакте если без говноэкспо чтобы их строгать нужен мак. эппл я терпеть не могу и вестись на такую гнилую разводку не буду. мой вопрос, реально девелопить и публиковать их (я знаю, они берут анальную плату, но тут ничего не поделать) имея например спираченную макось на виртуалке?
ясно, спасибо
Ребята, а зачем учить обж-с?
Зачем ты спрашиваешь знание языка? Ты что ебанутый?
>Я таких сразу на собесах валю, что-то типа owned & weak, а если такие вопросы отвечают, то задаю по типу как в протоколе объявить тело методу.
Тебя в мидлы неделю назад перевели, а ты джунов собесишь?
Везде, где нужны опциональные методы для non-objc протокола
Например, универсальный заполнитель таблиц на frc:
https://pastebin.com/1RRyLi1W
мимо
По-моему наоборот, ничего сложного. Как weak только быстрее и добавляет ответственности, полезно при проектировании: если что-то упало из-за нее, значит неправильно спроектировал.
Он спросил пример - я дал его. А в документации вообще все описано, на то она и документация. Что ты несешь вообще.
Cмотрите какого кадра нам нарисовали, образованного.
На данный момент являюсь веб-макакой. Хотелось бы сменить сферу деятельности, а именно - изучить swift/object-c.
Суть вопроса: насколько принципиально наличие последней версии macOS для начала программирования? Смогу ли я нормально заниматься под Sierra, например?
Сможешь, но не на актуальной версии языка/сдк. Чекай совместимость на странице икскода в апп сторе.
Я в дальнейшем его буду выдвигать жестом на скрин.
бле, по width
Так же как и для любой вьюхи. Слева в иерархии вьюх зажимаешь ctrl и тянешь нить от контейнера к корневой.
Как в свифте хранятся тела методов класса? Они дублируются для каждого экземпляра, или все экземпляры одного и того же класса + все потомки при выполнении метода берут код из одного и того же места?
Какая нахуй разница, братан?
>Как в свифте хранятся тела методов класса? Они дублируются для каждого экземпляра, или все экземпляры одного и того же класса + все потомки при выполнении метода берут код из одного и того же места?
https://www.raizlabs.com/dev/2016/12/swift-method-dispatch/
Большинство туторов только на сегуях блять. Как мне получить инстанс Б класса, чтобы в А я смог его уже приаттачить и пользоваться заимплементированным методом? Уже 1 час сижу и охуеваю.
Segue - это переходы в IB, они показаны стрелочками. Если ты тот чел выше, то можешь увидеть, что встроенный контроллер тоже такую имеет. Соответственно, прежде чем он будет встроен и показан, будет вызван метод prepareForSegue, в котором ты можешь получить встроенный контроллер, присвоивать ему делегата или вообще сохранить и крутить как хочешь и где хочешь.
Segue это просто способ получения ссылки на второй контроллер в первом. Если ты его не используешь то ищешь какой-то другой способ. Например, если один контроллер создает второй то веставляешь сразу при создании и делегата. Или это может какая-то третья сущность делать. Или сделать так чтобы контроллер не отсылал напрямую инфу в второй, а апдейтил стосяние модели. А второй уже получал эту инфу от модели (через наблюдение или еще какю хуйню).
Нет, у меня на экране сразу 2 контролера живут.
Все что сейчас смогу - так это ебнуть синглтон для такого взаимодействия.
можно передавать кложур с запечёной ссылкой на первый контроллер
гугли ввдс 2016 сессия 419
https://developer.apple.com/library/prerelease/content/LucidDreams
Если ты ежемиллисекундно передаешь данные из одного вьюконтроллера в другой, то у тебя что-то сильно неправильно сделано.
Какие данные ты передаешь, в чем их смысл?
Если это что-то, касающееся данных, то передавать их надо через модельную часть (особенно если у тебя видно только второй вьюконтроллер). Если у тебя видно одновременно оба вьюконтроллера, и ты, например, на первом таскаешь какой-то крыжик, а второй от этих перетаскиваний меняется, то тут я бы данные передавал бы либо через контейнер, либо как и просят через делегирование. Ебанул протоколы, связал два вьюконтроллера на уровне контейнера или аппделегата, и погнали.
то у тебя что-то сильно неправильно сделано.
Что неправильно? Драгаю Б контролер, и А контролер смещается относительно Х.
>Какие данные ты передаешь, в чем их смысл?
CGFloat очевидно.
Если ты тянешь одну вьюшку и это приводит к тому, что двигается другая вьюшка, то этими перемещениями должен заниматься тот контроллер, на котором они обе лежат.
У тебя три контроллера: А, В и R. R корневой, А и В дочерние. Соответственно, R может иметь прямые ссылки на А и В (как минимум, потому что он их создает и на себя кладет, неважно, руками или через сегвеи сториборды). В этом же месте, где все создается, ты можешь назначить R делегатом вьюконтроллера А.
В итоге:
Ты тянешь вьюшку контроллера А, контроллер А получает об этом сообщения. Он отправляет данные своему делегату (контроллеру R). Контроллер R имеет указатель на контроллер В, так что он может либо передать ему координаты, либо самостоятельно изменить его положение.
Как-то так.
Или тебя интересует, как именно в деталях настроить делегирование между A и R?
Хм, я понял да. Бтв препаре сработало в этом рутовом Р. Мне осталось лишь просто из Р в Б передать данные.
KVO еще есть, мб в твоем случае будет удобнее, чтобы не тянуть протоколы через кучи контроллеры
Платина блять. Нихуя хорошего в изучении архитектур нету. Этим ты только тупеешь и превращяешься в жирного спесивого тим лида щегаляющего понятиями и унижающего джунов. Учи язык, расширяй кругозор, исследуй новые непроторенные пути.
Проиграл с этого школьника
Pro Design Patterns in Swift/obj-c
Чистая Архитектура /Мартин/
App Architecture (by objc)
Развивайся
поздравляю!
так мило что ты помогал ребятам сам нихуя не зная
Чо по зп?
Охуеть у вас тут порядки, с джуна спрашивают за вайпер и реактивное программирование. У нас на яве спросят про хешмапу, спринг/хибернейт, если ответишь то ты принят и сразу вперед, разбираться в каком-то говне, где нету ни спринга ни хибернейта. Я пытаюсь вкатываться в swift, пока конторы даже не собеседовали глядя на год опыта, но на фрилансе периодически удается взять проект средней сложности, где хватает свифта и mvc если аккуратно. Что нужно для ios мидла на удаленке?
>>81806
Начал читать objc - app architecture, авторы котируют только mvc и mvvm-с, остальные архитектуры в их книге, как они говорят, сырые.
Про чистый код они тоже упоминают
>VIPER, Riblets, and similar patterns are efforts to bring Robert Martin’s “Clean Architecture” from web applications to iOS development
>Attempts to bring “Clean Architecture” to Cocoa usually claim to manage “massive view controllers,” but ironically, do so by making the code base even larger.
Алсо сколько бы я не спрашивал за вайпер, в интернетах мало кто понимает, что одной из главных причин выбора такой архитектуры - полное покрытие тестами. В гайдах всегда реализуются по разному, в одном небезызвестном гайде даже выкинули ключевой слой лол. Главное что VIPER
Получается, в ios две с половиной архитектуры: mvc, mvvm-c и viper в супертынпрайсе?
>Что нужно для ios мидла на удаленке?
Вазелин. Готовность писать допотопный код. Готовность ебаться в легаси говне. Готовность быть пидарнутым за факап команды, так как удалёнщик всегда крайний.
Да по сути mvc хавтает за глаза. На счёт тестов, mvc тоже ими можно покрыть. Чё ещё сказать то?
Бтв у меня есть первый пикрил. Ну такое себе. Архитектура разная в каждой кампании и на ней не стоит зацикливаться. Офк эти выводы были сделаны спустя пару месяцев дроча архитектур.
Жалко единственное что впадлу делать веак референс и создавать отдельный класс презентер для каждого контроллера. Пока планирую ебнуть синглтон Repository который будет менеждить мапить данные и в каждом контроллере этот инстанс дергать.
юз кейсы и интерактор такой же остается, потому что уже привык. + Локал.
>Главное что VIPER
Я юзаю вот VIPER от рамблера, немного видоизмененный. В генерамбе свои темплейты поправил чтобы не ебаться с сторибордами, а все делать как человек через ксибы и мне норм. Книга у них тоже ничо, чисто для знакомства с их видением вайпера.
>objc - app architecture, авторы котируют только mvc и mvvm-с
Да, тоже заметил, но в целом книгу стоит хотя бы прочитать, чтобы иметь представление.
>>81864
Ну так Мартин пишет не про то, какую ты архитектуру сделаешь, а какие свойства архитектуры помогут тебе в дальнейшем и как эти свойства проверить и найти. В целом книжка полезная, особенно если ты пишешь проект у которого периодически меняются требования.
>>81865
>А и еще вайпер это переделанная ссанина людей, которые перекурили как раз этого Мартина.
Ну это и хорошо: разбивка на слои + четкие границы и разделение ответственности. Получается недурно, хотя для приложения их 2х экранов оооочень жирно и избыточно.
Ахуенная аргументация. Кроч пацаны, функции первого порядка, лямбды, замыкания, DI — это все хуйня из другого мира, нам бы писать лапшу да дрочить байтики, вот это работка, да.
Чувак я сам сижу сейчас на вайпере. И я 100 процентов говорю, что вайпер в конечной своей точке когда уже пора реализовывать то что он так красиво описал на уровне протколов скатывается в ёбаную легаси ссанину. Так что да. Такие дела. Слишком это всё теоретизированная залупа и во многом бесполезная.
Значит, ты делаешь неправильный вайпер со смешением слоев. Но без кода это все разглагольствования, а код из нас никто не покажет, так что откланиваюсь.
>Ну это и хорошо: разбивка на слои + четкие границы и разделение ответственности
Это никогда не хорошо.
Слои выбираются командой, архитектура избыточна. В стиле от баду вайпер - ссанина потому, что они исковеркали сами идеи и добавили свои.
>>81878
DI — это все хуйня из другого мира, нам бы писать лапшу да дрочить байтики, вот это работка, да.
Мда, сразу вспоминается ебанина с ДИ в ведройде. Когда я узнал что тут такого нет это был кек.
Особенно я не понимаю популярность рхСвифа. Рх нужен только в ведройде, потому что там нихуя нет. Но тут сука и так GCD + операйшины есть. Мапы редюсы встроены в язык. Можно продолжать вечно.
>Мапы редюсы встроены в язык
Только не в язык а в стд либ. Всё верно. Стд либ рулит. Всё то время которое уходит на изучение каких то левых архитектур стоит посвятить на стд либ, потому что это склады гениальных идей, и её можно учить годы.
Так это в худшем случае, в лучшем, если у лида есть мозг он идёт к дяде сисплюсплюснику и просит реализовать всё это говно на бекенде и отдать ему айпи к которому он может подключить свои блять щупальца с которыми он нихуя не знает что делать.
Что такого можно реализовывать через Вайпер, что должно быть на сервере?
Смеялись еще сильнее
Ты бы написал хоть пару моментов какие проблемы возникали при вайпере, какая там у тебя возникает легаси ссанина и где, а то пока звучит как беспруфный кукаер или как подметил анон выше - шизка.
Это на дваче я не буду обсуждать. В телегу тоже не зовите. Нахуй короче. Кто не понял тот поймёт.
А ведь красива ушёл ...
Ну хоть уроком будет - не кукарекать, если не сможешь вскукарек подкрепить аргументами.
Суть такова: IOS должна запускать приложение в фоне, а в AppDelegate должно отрабатывать 2 функции.
1) Загружает данные из CoreData в массив;
2) Загружает данные из Firebase и сразу проверяет их на вхождение в массив. Если полученного значения в массиве не найдено, то срабатывает Push.
Проверяю работоспособность на эмуляторе через Debug -> Simulate Background Fetch.
В результате корректно отрабатывает только первая функция, а загрузка из Firebase может либо вообще не запуститься, либо загрузить только пару значений. Для того, чтобы всё нормально сработало нужно симулировать Fetch раза 3-4 подряд.
Ок
Да,да,да. По сравению с ведройдом приятней писать.
Молотчик, что за город? Не ДС я так понимаю, если деанонить не хочешь напиши сколько населения.
С нуля. Базовые знания питона. На носу ЕГЭ по информатике. Опыт ебли с джейлбрейком.
Тебя кулстори выше, где чел три года вкатывался на позицию ждуна с вайпером и реактивщиной, ни о чем не говорит?
Вот и готовься к егэ.
Помню как написал егэ на 40 баллов, минимальный порог. Но я тогда даже програмач не знал толком.
А ты уже знаешь. Так что пиши минимум на сотку.
ух бля, там еще ради appId нужно в свиттере app review проходить, чего духота-то такая
> Пишу сейчас на 70 минимум, думаю на 80 напишу точно.
Бери выше, там делать нечего. ЕГЭ это самое легкое, что может быть в жизни. В вузе тебе придется хуярить еще жесче. Особенно советую мат анализ, ибо я на 1 курсе проебался с этим.
>Есть смысл поступать?
Без корочки далеко не уедешь. Мб преподы норм попадутся.
Дак это и пугает. Ну малоли мож рынок развивается как раз щас в поезд залететь свифта, через какое то время мб станет популярнее.
Конечно-конечно, вот выпустит гугл фуксию и сразу айосники всем нужны станут!
Писал два дня назад в майсру. Берут на айос девелопера без корочки
жаба токсичная иди нахуй, с людьми толкую, ты лезешь
Строчка со синк ждет пока тред не освободится, но тред не освободится, пока все строчки в теле функции не отработают. В первом примере дедлока не будет, кстати.
В глаза ебусь, думал там async.
потому что в очереди queue должен выполниться код внутри SYNC блядь, который тоже в той же очереди. А там:
> тред не освободится, пока все строчки в теле функции не отработают.
https://rs.school/ios/index.html
Иди читай что такое делегат, наркоман, а то складывает впечатление, что для тебя он нечто большее, чем просто объект, соответствующий протоколу.
func prepare...() {
let parent = self
let child = segue.destination
parent.delegate = child
child.delegate = parent
}
Нет, оказывается когда чайлды приаттачиваются они вызывают к прераре у рутового метод и в нем уже можно проинитить делегейты для каждого контроллера.
>что такое делегат,
Это каллбек.
погоди
async запускает bg тред. внутри async что-то делается, и ставит на запуск sync. async стопается. где-то паралелльно отрабатывает sync разве не так? почему async должен ждать sync ?
а блэд, эти типо очередь одна и та же?
Ебать спецы на дваче, один ахуительней другого просто.
1. Хочу стартовую позицию tab bar контролера поменять. Не с 0 чтобы стартовал, а с 3.
2. Хочу чтобы при клике на один из индексов он мне не показывал контроллер, а я создавал сам его программно.
Пиздец нахуй, как это гуглить.
это не нагуглишь. это только доки и нормальный опыт с юикит. если всё гуглить ты умрёшь
*гомоёбля
чувак не в силах почитать доки или оформить запрос в гугле, какая ему нахуй разработка?
Ахахахахах
Решил руками написать, точнее уже написал. Ток пока словил защеку и не смог это захуярить в сториборд, жалуется на класс селл, хотя @IBDesignable поставил.
Пришлось через код впихнуть.
За щеку тебе перекатил, проверяй
Это копия, сохраненная 17 мая 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.