ИТТ продолжаем разрабатывать под лучшую мобильную платформу, угощать пряниками токсичных и выяснять как с нуля вкатиться на мидл вакансию.>С чего вкатываться?Со 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/ioshttps://www.youtube.com/user/AlexSkutarenkohttps://developer.apple.com/videos/Перевод документации базовойhttps://swiftbook.ru/content/Материал на английском:Очень подробно все рассказывает и расписываетhttps://rutracker.org/forum/viewtopic.php?t=5445071Devslopes. Начинал с них, рисуют приложения при тебе, особо не углубляются в детали, но как пример можно посмотреть. Сам к ним вернусь, как побольше поучу.https://coursehunters.net/course/udemy-ios11-swift4ласт >>1311979 (OP)
TL;DR Как настроить fastlane match для нескольких приложений?Ситуация такова: у компании есть два приложения на iOS. Одно настроили годно - все эти fastlane / match / travis, второе еще нет. Чувак, который первое настраивал уже не работает, пришедший ему на замену просто ипользует то, что тот когда-то настроил. Под первое был создан репозиторий с сертификатами. Появилась необходимость нормально настроить деплой нового приложения.Можно ли использовать тот же репозиторий с профилями и сертификатами под другое приложение? Как это настроить?
>>1338159Это типа писать шел скрипт, который в терминалеxcrun -p -n будет запускать? Этож ебануться можно.
Пора закрывать тред. Работы говорите нет. Писать для платформы смысла нет. Зачем тогда вообще нужны Objective-C и Swift?
>>1338553Это не я сказал. Так говорили здесь и чатиках. Сообщество очень унылое. Более унылого не встречал. Поэтому не удивлюсь, если действительно спроса нет, да и писать толком под iOS никто не хочет.
>>1338572Это я писал, в телеге достаточно унылое. Мб из-за того что нет админов.>>1338567>. Сообщество очень унылое.Жввачую.
Аноны, наболело:Я говноадинэсник с 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 девелопинг.
>>1338594>Мб из-за того что нет админов.Наврятли. Сообщество унылое потому что участники тупые наверное. Это вовсе не токсичность. Просто непонятно как в той же телеге обсуждать какие-нибудь значимые и интересные вещи. Всё сведётся к писькомерению. Да даже на дваче их не пообсуждаешь. Обсуждают что-то интересное по языку на свифтовом форуме в разделе предложения длинными и не понятными простынями на английском языке.
>>1338599У меня тоже такое было. Но как то ты размазано подходишь к вопросу. Главный совет не учи всё что требуются в вакансиях. Учит только свифт и фреймворк UIKit, этого будет более чем достатнчно. Но выучи свифт очень хорошо.
>>1338604На все вопросы по Swift на собеседовании я отвечал (по крайней мере, на последнем): и про типы данных, и про ARC. А что именно ты вкладываешь в понятие "очень хорошо"? Какие области?И главное - они меня отсеивают, по большей части, ещё на этапе просмотра резюме, и до интервью в 90% случаях даже не доходит. Как в резюме можно показать, что Swift знаешь очень хорошо?
>>1338600В телеге, да и не только там, есть прекрасные сообщества. Открытые, дружные, живые. Посмотри F# чат в телеге. Так что это не проблема платформы. Проблема есть в самом сообществе iOS разработки. Сообщества как такового нет.
>>1338611>На все вопросы по Swift на собеседовании я отвечал >И главное - они меня отсеивают, по большей части, ещё на этапе просмотра резюмеПотому что ещё раз. Рынок стоит. Вакансии тухлые. Сейчас никого не берут - ни джунов не сениоров. Никому не нужен iOS. Единственный варик пилить самому приложуху для стора.
>>1338627Есть же Upwork и прочая фриланс херня. Плюс, рынок в Рашке стоит, а тут полдвача мечтает уехать отсюда
>>1338627>>1338627Приложуху для стора уже запилил и выпустил. Пилю следующую уже.Насчёт джунов - я уже понял. Но насчёт сеньоров - почти все имеющиеся вакансии именно на сеньоров, причём, обновляются они ежедневно, и зарплаты там от 150-180 и до 300. Зачем же все эти вакансии, если никого не берут? Зачем же тогда они их ежедневно обновляют? Что-то тут не сходится.
>>1338632C upwork и прочими подобными, как я понял по отзывам, куча времени будет уходить не непосредственно на разработку (и тем самым, прокачивание скиллов разработчика), а на поиск заказов и согласование деталей, то есть, на блядскую менеджерскую работу. И, опять же, судя по отзывам, пока у тебя там малый рейтинг, заказы тебе никто давать не будет, разве что забесплатно.
>>1338634Так ты видел когда эти вакансии были созданы? Висят по пол-года-году. Обновляются потому что hr отделы создают видимость работы. Они отбирают кандидатов, но босы их забраковывают. Это вообще некое офисное развлечение искать сотрудников. Разбавляется так сказать каждодневная рутина.>Есть же Upwork Там нужны в основном андроид-иос комбайны для арабов и индусов. Не понимаю вообще, что там происходит и зачем там это всё.
>>1338641Да, вакансии висят и правда месяцами: когда я начал искать работу 2 месяца назад, вакансии были процентов на 75 те же, что и сейчас. Закрылись ну процентов 25, максимум. При этом, все эти замечательные вакансии обновляются практически ежедневно.
>>1338599Чот я не верю. Или ты недоговариваешь, и есть значимые вещи, о которых ты умолчал, и которые негативно влияют шансы трудоустроиться, или ты тупо вбрасываешь тут, чтобы демотивировать народ.
>>1338678>>1338679>>1338681>Чот я не верю. Или ты недоговариваешь, и есть значимые вещи, о которых ты умолчал, и которые негативно влияют шансы трудоустроиться, или ты тупо вбрасываешь тут, чтобы демотивировать народ.Нет, к сожалению, это не вброс. Ситуация реальная. Сам такого не ожидал. Знал бы, что так будет, вообще бы не брался за iOS. Джавой бы занялся лучше. А конкретно о каких таких вещах, негативно влияющих, ты говоришь?И да, я понимаю ваше ехидство по поводу 1С - 1С это то ещё говнище, далековатое от нормального программирования. Но, тем не менее, я эти 10 лет не "сидел на 1С", как один анон выразился, а сделал множество разных проектов, многие из которых довольно сложны. Это я к тому, что я конечно говноадинэсник, но не 1С-даун.
>>1338687Добавлю также, что у меня порой возникает ощущение, что вот этот вот 10+ -летний 1С-ный опыт в резюме и отпугивает рабовладельцев работодателей. Но, скорее всего, ситуация на этом рынке и правда полная жопа. 3-4 года назад я жалел, что занялся когда-то 1С, а не нормальным программированием. Потому что 1С нахуй нигде, кроме этой страны не всрался. Сейчас я вдобавок жалею, что занялся iOS разработкой. Потому что работы в этой сфере внезапно не стало.И с 1С я сам виноват, долбоёб, что не подумал в конце нулевых о будущем вне Роисси, занявшись этой шнягой. Но вот с iOS - кто мог знать, что такая ситуация сложится? Обидно пиздец.
>>1338687Значит тебе 30+ должно быть.Вообще мне было бы похуй на то чем челик занимался до этого. Хрюшам даже ничего не говори, они на 95% все ебанутые которые путают даже стек вакансий с ведройдом и иосом. Если бы ты нормально хуярил - я бы взял. А то, что ты обжс не знаешь - это огромный минус. Я указал в шапке что есть чатик в телеге - там закинули недавно книгу по обжс для тех, кто шарит в свифте.>Джавой бы занялся лучше. Вообще хуй знает, будем смотреть в мае гугл ИО и нам скажут, будет ли в ближайшие 2 года ведройд закинут или нет. Там же новая ось появляется, через 5-6 скорее всего будет продаваться, а может и не будет. Небольшая паника пока в сообществе. Некоторые уже и на флаттер смотрят, так как ОСь включает в себя его язык.А рх свифт вообще для маленьких. Там ничего сложного нет.
>>1338694Чекнул сейчас hh на junior ios: в Москве 16, в Минске 24 лол. Вообще, думаю ты зря переживаешь так и в течение пары месяцев устроишься.
>>1338678Чтобы быть уж до конца точным, добавлю также, что навыки про GCD и REST API / JSON появились в резюме только месяц назад. И, соответственно, на первых 2 из 4 прошедших собеседований, на вопросы про сеть и GCD я отвечал, что не работал с этим. К следующим 2 я уже освоил эти вещи.
>>1338700Бля что-то я напутал, а вообще странно, что ты аж 2.5 года хуйней страдал прежде чем попробовать.
>>1338698Я 34 lvl, но в резюме это не указано. Более того, год окончания ВУЗа, который указывать необходимо, я подвинул, чтобы выглядеть на несколько лет моложе. А что ещё?
>>1338703Ой блять пиздец. Если ты живешь в дс или дс2 хули париться? Это у меня блять в городе 5 вакансий по iOS. Просто ПИЗДЕЦ
>>1338697Два чаю тебе за книгу, гляну. Я купил вот на днях Кочана последнее на данный момент 6-е издание на русском, но взяться ещё не успел.Хрюшам то я ничего и не говорю, вот только в резюме-то всё написано про мой предыдущий опыт, не опускать же его вообще. Ведь если в резюме у чувака, закончившего ВУЗ в конце нулевых, из опыта работы только 2,5 года фриланса на iOS, это ведь они подумают, что дядя наверное мотал 10-ку по 228.
>>1338701Освоил это как? Как с помощью gcd сделаешь тред сейф переменную, чтобы можно было читать-писать безопасно?
>>1338702Ну не хуйней страдал, а изучал всё с нуля. Цель была - выучить базу, сделать и релизнуть приложение, и тогда уже, хоть с каким-то портфолио, так сказать, идти по собесам. Напомню, я работаю фуллтайм, и на работе ничем кроме работы времени не было заниматься скроллинг харкача не в счёт
>>1338703>34 lvl>год окончания ВУЗа, который указывать необходимо, я подвинул, чтобы выглядеть на несколько лет моложеЧувак, тут на десяточку надо год подвинуть. а не на несколько лет
>>1338709Освоил - это знаю какие виды очередей и для чего и как их использовать, выполняю dataTask асинхронно, группы использую. Как сделать то, что ты написал - вот так сходу не скажу. Освоил - в таком объеме, чтобы на интервью можно было на вопросы по GCD ответить, так скажем.
>>1338711На 10-ку это как-то too much. Да и по фото ж видно наверное, что мне не 24. Ёбаный возрастной геноцид - у меня вот сейчас мозг-то работает лучше, чем 10 лет назад.
>>1338713Да оставляй 34. Всегда ведь есть удалёнка где твой ебальник не видно будет. Про возрастной геноцид это опять к вопросу о гнилости рынка. Тут он думаю играет тоже роль. Такой хуйни в дс2 много я заметил. Бля мне аж тебя жалко стало. Короче перекатывайся в деревню и устраивайся на удалёнку за копейки. Никто тебе больше 40р не даст, готовься к этому. И на ближайшие пару тройку лет 40р в месяц - твоя реальная перспектива. Гит подтяни.
>>1338739Про 40р в месяц это конечно толсто. Я сейчас за аренду однушки на окраине ДС почти столько плачу. А вакансии на ждунов появляются в месяц 2-3, тыщ на 60-80, и уходят они довольно быстро. Но там требования поменьще того, что я умею. Поэтому, я уже на мидла мечу. Тем паче, что на 60-80к в ДС тупо не прожить, если у тебя съемное жилье. Хотя, конечно, есть и особо охуевшие рабовладельцы, где требования явно уровня мидла и выше, и предлагают они те же 60-80к.
>>1338716Можно и через семафоры, но с ними можно обосраться, поблочив выполнение вызывающего кода. Можно создать свою конкаррент кью, читать значение через sync, а писать через async с флагом .barrier (это заставит все куски кода в кью выполниться перед текущим, по сути на время выполнения текущего куска кью становится сериальной).
>>1338600>Просто непонятно как в той же телеге обсуждать какие-нибудь значимые и интересные вещи.Неистово двачую. Раньше форсили соцсети, вообще не приспособленные для серьезных обсуждений, а теперь им на смену пришли мессенджеры с еще более убогим форматом, не позволяющим структурировать информацию вообще.>>1338619И как в говночатиках можно обсуждать несколько тем одновременно? Это даже во вбыдлятне и в этом тредике проблематично делать. На тематических форумах десятки разделов с подразделами были, и темы, которые обсуждались месяцами до полного исчерпания вопроса, а не уплывали в глухие ебеня за неделю. И это правильно.
>>1338599А я думаю что ты просто посредственный даун, неосилятор, который не может затащить на должном уровне, все же нужны рок звезды, а тупые джуны нет, вот и весь вопрос.
>>1338890Тогда походу забей, потому что тут идеальные условия в реалиях раши, если ты тут не закатываешься так долго то уже наверное все...Выход только фол ин делать, увольняться с работы и фулл тайм ебошить гейос! И тут уж выстрелит или ты станешь бомжом.
>>1338900можно еще придумать себе годик опыта, типо работал на фрилансе и вкинуть в резюме ссылку на какое-нибудь приложение для заказа пиццы в гонконге
>>1338856>темы, которые обсуждались месяцами до полного исчерпания вопросаЭти темы становились не читабельны. Когда 10 или больше страниц, устаешь все перечитывать. В чатах есть нормальное цитирование, если тебе ответили, то можно перескочить сразу на то место, на форумах такого нет. Есть еще Slack, крайне удобная штука для такого.
>>1338982Да ну. Я-то помню, как зачитывался такими многостраничными темами. На форуме все еще проще, чем у тебя в чате - если в твою тему ответили, то это в 99% случаев по теме. Слак да, получше.
>>1338994>если в твою тему ответили, то это в 99% случаев по темеАга, конечно. Начинаются споры, выяснение отношений, каждый доказывает свою правоту, и всем уже плевать на вопросы топикстартера, все уже забыли про них. Знаем, плавали. Горячие темы бывает так разгораются, что за пару дней по 20 страниц флуда накатывают. Поэтому форумы считай умерли. В том же телеграме или слаке такой проблемы нет.
в аппсторе можно только картинки, описание поменять, без билда?что писать в What's New in This Version ?
>>1338856Гуглю всегда на инглише и не знаю проблем. За бугром всегда исчерпывающе изучают проблему . А иногда вступлю в чатик в телеге, так бомбит. Всегда найдётся местная бригада: умник, который отвечает очевидные вещи в стиле «я бы там посмотрел»; клоун, которому больше негде шутить; пацифист, который изо всех сил пытается наладить гармонию в этом парашнике. Потом гуглишь вопрос на английском и находишь ответ за две минуты, в очередной раз покидаешь парашник, идёшь мыться. Фу нахуй.
>>1339184А я по свифту никогда ничего не гуглю. Только по юикиту гуглю и по прочему аёсовскому дерьму. Кстати уже давно ничего не гуглил. Кто что последний раз гуглил?
Я не понимаю, почему никто не пишет про модификаторы доступа или вообще малозатрагиваемые темы в книгах? Например open class или же private(set)? Почему я это должен узнавать из примеров кода на гитхабе? Как гуглить такое?
>>1338710>Цель была - выучить базу, сделать и релизнуть приложение, и тогда уже, хоть с каким-то портфолио, так сказать, идти по собесамЗнаю это чувствоПилил приложение 3 месяцаНа нескольких собесах обосралсяНа крайнем спросили сколько жму на турничках и из какого я вуза и собственно всё, череда неудач закончиласьЭто было несколько лет назадНе ссы всё получится
>>1339641А, они здесь https://docs.swift.org/swift-book/LanguageGuide/AccessControl.html>>1339649Я уже умею под него писать, сори.
>>1339682Нет, я пока не понимаю зачем они вообще нужны и не видел примеров даже нормальных. Весь попенсорс залит с прошлыми 2-3 годами, даже смысла нет клонить и что-то там пытаться собрать. Иногда лажу, но чисто из маленького любопытства.
>>1339733Всё верно. На Свифте можно писать код на чистых функциях, всякое убожество didSet и ему подобное отправляется на помоечку.
Как гуглить всякие SELECT FROM LIKE ANY чтобы юзать в кор дате? Большинство примеров это ебните NSPredicate(format: "id == @", ...) и все.Вот например, я хочу построить запрос где я отдаю лист айдишников - а возвращает мне кор дата те, которые существуют. Куда копать?
можно ли сделать грид с (например) 3мя столбцами и footer-ом или header-ом, который занимает 3 столбца?header-1-2-3--4-5-6--7-------footerтипо такого. Попробовал проста размер задавать в sizeForItemAt, но когда в конце не хватает одной ячейки, эти крайние ячейки по бокам почему распологаются-4-5-6--7---8--footer
Господа, посоветуйте, пожалуйста, хороших техник проектировки REST API. Желательно без использования Alamofire, не хочу тащить зависимости ради 3,5 эндпоинтов.
В документации икскода всё естьhttps://developer.apple.com/documentation/foundation/url_loading_system/fetching_website_data_into_memory
Часто ли вы встречаетесь в работе с weak & unowned ссылками? Сколько не смотрю, ничего не вижу на гитхабе у людей. У всех все чисто.
>1341816Если ты нафаня, то можно хуй забить на них. Сейчас у телефонов столько памяти, что обычный нафаня её не забъёт. Другое дело, что негоже не знать как кложуры и ARC работает. Тебе надо подучить эту тему и попрактиковаться на минипрограмках.
>>1342130Ссылка на контроллер запеклась в кложуре, он не деинициализировался. Если там ничего противозаконного нету, то приложение не упадёт.
>>1342217Ну вот например, открыли контроллер и сразу с него ушлиfunc updateUIData() { ServerAPI.getBigAmountData { data in self.updateUI(with: data) }}Ох ебать, неужто под запекся ты имел ввиду то, что это экземпляр контроллера останется в памяти связанный только с кложуром, и когда вернется респонс, он всетаки обновится существуя в сферическом вакуме, а юзер открыв снова этот контроллер запустит уже другую связку контроллер-кложур, будто существование параллельной вселенной? Я наверное игрался с unowned и перепутал с данным случаем
>>1342218Так и будет, вьюконтроллер не будет отображаемым, но будет в памяти. Но это все равно хуйня, там же логика какая-то может быть по таймеру, например, тут дело не только в утечке памяти. Короче сразу нормально делай - нормально будет.
>>1342218Да, контроллер это всего лишь класс и он живёт в куче. То что ты сказал "в вакууме" это и называется retain cycle. Специально для тебя написал структуру имитирующее это поведение, которую ты можешь собрать и запустить с помощью Package Manager следующим кодом:AppEmitter().run()Советую тебе поизучать PM, шикарный инструмент после которого я хуй положил на плейграунд. Вот эта структуркаhttps://pastebin.com/xnvL0zL6
>>1342225Тогда вот еще в нагрузочку вопрос, достопочтенный анон. Я когда начал фрилансить, кучу проблем себе нарыл сразу пытаясь делать адаптивные интерфейсы: привязывал размеры элементов к размерам экранов, во всю использовал стеквьюхи, что с этой самодельной адаптивностью не вывозило, да и сам я путался в том, как решить проблемы с констрейнтами, со шрифтами вот все не мог понять, как их менять под размер экрана, кроме как зависимостью от compact/regular. Время шло, я начал подмечать что в некоторых примерах задаются элементы фиксированных размеров, более того, элементу ЗАДАЕТСЯ ФРЕЙМ. Удел плебеев - подумал я, не могут справиться с более адаптивной логикой. Но в последнее время стал более лоялен к этому, и пробую сам так делать, такое чувство будто я программирую матерными словами. Как всетаки обстоят дела с адаптивность? Вот есть дизайн для восьмерки, если слепить то же что и на нем, а потом запустить на плюсе то будет более просторненько, может даже неприятно глазу, это норма? Что говорить заказчику в таком случае? А то у меня мания учиться делать все идеально, потому не могу избавиться от своих же доебов, что интерфейс должен адаптироваться чуть ли не в процентном соотношении к экрану.
>>1342338https://github.com/toure20/Dalagram_iOSкак вам такое? я не профи, но вроде как по клинкоду, приятно разбирать
>>1342329>интерфейс должен адаптироваться чуть ли не в процентном соотношении к экрануУ людей с большими экранами маленькие члены, пальцы не больше, а зрение не хуже. Просто посмотри на крутые универсальные приложения в сторе - многие даже для айпадов не трогают размеры шрифтов и кнопок, а проектируют интерфейс по-другому.
>>1342329Говори что адаптивность это важная часть разработки, требующая дохера времени и сил, а это так и есть. Ну а вообще я лично предпочитаю делать лейауты вручную фреймами, нежели констрейнтами, потому что мне так больше нравится, можно делать симпатичные структуры считающие геометрию. Стек вью реальна хорошая тема. Но я даже её не юзаю. Вообще не в курсе про адаптивность и про все новшевства автолейаута. У меня ни времени не желания нет с ними разбираться, не необходимости как таковой, так как я стремлюсь всё к более и более низкоуровневому подходу. Вот тут один анон на 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.что юзали, что посоветуете? для лошар
>>1342348Я так понял что делать разницу между устройствами не стоит. Разве что между айфоном и айпадом, но функционал позволяет это сделать безболезненно. Просто на одном проекте дали дезигн под 5 и под X айфоны. Делал доп методы adoptFonts, которые проходились по лейблам контроллера и меняли размер шрифта.
Я кажись пиздец перегорел, за 3 года опыта понял что не смог недавно осилить парсинг и кодабл у свифта 4
>>1342352Кто как хочет так и дрочит, я смотрю с этими snapkit-ами даже в автолайаут просто, да и не сомневаюсь, что с фреймами все путем, если иметь хорошее представление о картине в целом. Сурсы телеги видел но не разбирал, да и это понятно, всегда смотрел на телегу и считал ее пиком аккуратности и завершенности. Не мудрено что там все на более низкий уровень уходит, чтобы каждую мелочь отточить. Я на такие проекты может и не попаду никогда, вот в чем дело
Как лучше - делать программно навигационную вьюшку и так далее просто рисуя в контроллере, или разбивать все в файлики, наследуясь от UIView и уже там котить, и только потом подключать к контроллеру?
>>1343283>ПоказываетИ где это он показывает? Сравни со вторым пикрилом - где даже есть ССЫЛОЧКА чтобы СРАЗУ ЖЕ ПЕРЕЙТИ к крашу.Будешь мне здесь рассказывать свои сказки.
>>1343291Ну у тебя похоже кор дата падает. Системные фреймворки он не показывает. Только в твоём коде он строчки показывает.
а для ios господ существуют best practices?, типо как в ведроиде - не держите жесткие ссылки на context в треде, не передавайте анонимные листенеры в тред и т.д.
>>1343318MassiveViewControllerНикакие нахуй бест брактис. Что-то утекает? А не похуй ли тебе? В иосе оч много памяти + шустренько работает, в отличии от шаемипрошивок. И тут нет прям таких год обжектов из которых все можно вытаскивать.Тупо берешь и наслаждаешься когда тыкаешь анимацию и строишь ручками леяуты.
>>1343318По каждому разделу существуют бест практисы. Конкретно по тредам: не пользоваться тредами, пользоваться Grand Central Dispatch. Все бест практисы лежат в видео с WWDC конференций. Ищи любую тему и смотри видео, там их очень много. Можешь смотреть с 2018 года, в любом видео есть ссылки на предыдущие видео, которые надо посмотреть. Но обычно в начале видео идёт рекап технологии, потом идут бест практисы. Например последнее что помню из бест практис: использование протоколов в юнит тестах вместо конкретных типов.
>>1343327ТОГДА ПАЧИМУ У МЕНЯ СЫПЯТСЯ EXC_BAD_ACCESS KERN_INVALID_ADDRESS В ФАБРИКЕ, АА? но надо признать, 99.98% на ведроиде мне никогда не видать
>>1343330> в видео с WWDC конференцийЯ заметил что там только видео с прошлого года. Вот захочу я посмотреть практики из 2014 года, так мне придется гуглить уже чтобы найти оф ссылку на эот.
>>1343334В 2014 и раньше всё устарело. Есть кое-что совсем низкоуровневое и там, например OpenGL и что то из сетей. Но там всё на Objective-C, продираться через него то ещё удовольствие. Раньше 2015 года нет смысла идти. Все года можно на сайте найти. Там конечно ебанутая навигация, не спорю. Сам матерюсь от неё.
Не пойму, в чем соль недовольств по поводу подов. Вот изучаешь такой, как лучше запросы писать, как ответы парсить, все сводится к тому что лучше юзать стандартные методы, мол это надежно. А еще и codable появился со своей пресловутой одной строчкой кода. Забиваешь на поды, пишешь дохуя кода, а потом натыкаешься на проект где SwiftyJSON, SnapKit, Alamofire и охуеваешь что господа занятые делом спокойно себе юзают поды и экономят время. Так в чем их недостаток? Насколько я понял, все сетуют за надежность/совместимость, но ведь как только свифт апдейтится, допиливаются и поды, апи ведь то же остается, грубо говорят обновил поды и все работает. Это как если написать проект, и бояться что он сломается когда выйдет новая версия swift.
>>1343402Поды, которые парсят хттпшки это пережиток времён когда всё было на обджектив сях, когда ещё был жив NSURLConnection тогда имел смысл заебстись с подами чтобы сэкономить время на всём этом. Сейчас же всё стало слишком просто для того чтобы выполнить банальный хттп запрос на стандартной экосистеме. Ты ещё просто не дожил до того состояния когда бесишься от того что твой проект долго собирается лишних 5 секунд, насрано в конфигах, и много какой то левой хуйни тянется и тебя это бесит. Сейчас поды имеет смысл ставить когда нужно кастомная работа с коре графиксом, всякие зумы фоток и прочая поебень. Для хттп запросов смысла в них уже нет.
>>1343430но ведь попадется какой-нибудь запрос с ответом, в котором единственный нужный элемент находится по пути jsonResponse["root"]["data"]["address"]["local"]["name"]["huy"], тебе теперь принципиально не юзать сторонние либы а городить елку? Просто интересуюсь, пример один из множеств случаев
>>1343430>>1343642сам то я люблю когда все без сторонних либ, да вот огорчает что всегда найдется случай, когда эта любовь ставит палки в колеса
>>1343430Почему то встроенного дебагера, который получает респонс или еррор НЕТУ.Из-за этого приходится использовать аламофаре. Так что не пизди мне тут.
>>1343661Я давно чего то не работал с хттп, но насколько я помню в 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, чтоб потом с ним работать?Спасибо!
>>1343738обьявляешь до создания таска переменную,var variable: Product? = niltask...внутрь кложура передаешь эту переменную в кложур (variable = product), таким образом происходит запекания значения variable внутрь кложура, и оно будет жить пока кложур не закончится, даже если в оригинальном контексте эта функция подохнет
Построение программно забавно, но как определиться когда юзать разметку "V: -26-26-26-[v23]-34-234-" как добавлять просто через метод addConstraint.И вот что я заметил, в первом случае не получится строить охуенные интерфейсы, отрисовка идет по шагам, и пурпурный цвет отрисовывается ниже зеленого, что НЕ должно БЫТЬ по ЛОГИКЕ.Но мне то похуй, меня волнует этот товарищ на втором пикриле. Какого ХУЯ при двух КОНСТАНТАХ у него СРАЗУ ЖЕ пурпурная вьюшка находится НИЖЕ СИНЕЙ ЧАСТИ? У меня почему то блять так НЕ РАБОТАЕТ как мы видим на пикриле 3.Но я конечно уже повидал говна, пришлось залеть на гитхаб и потеребенькать сорцы. Я там нашел и оказывается, нужно задать ЕЩЕ ОДНУ КОНСТАНТУ, и объявить опять через addConstant - height, самая нижняя строчка.Последнии шаги меня окончательно ввели в ступор. Как китаец после 2 констант + использование format разметки добивается результата, когда мне приходится еще дополнительную завязать константу + удалить все мои format билдиры на эту вьюшку и использовать другой пусть по созданию height.Пиздец.
>>1344835Это ты раньше бугуртил, что нигде про модификаторы доступа не написано? Так и будешь спотыкаться на всякой хуйне, пока не начнешь документацией пользоваться.
Не пиздите меня ссаными тряпками, пожалуйста. Вкатываюсь в ойти. КАК БЛЯТЬ УСТАНОВИТЬ РАБОЧУЮ СРЕДУ СВИФТ НА ВИНДУ?.
>>1343798Добрый анон, спасибо тебе. Я. правда, попробовал иначе, через класс, но я дико охуел от того, что если в init классу написать забрать json, то создать инстанс в этом классе и тут же вызвать поглядеть его пропертис - не канает, я поседние волосы с жопы выдрал, пока не получилось. А если подождать - так работает. import Foundationstruct 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()Может, есть цивилизованный способ? Этот пиздец, чувствую, ну совсем не годится
>>1344966Замыкание, в котором ты присваиваешь значение inside, выполнится только после того, как данные будут получены. А ты ждешь что они будут получены мгновенно, вызывая show сразу после создания объекта. Дефолтный совет opt+click по любой непонятной хуйне, в твоем случае по dataTask.
>>1344966Я только что это объяснял, почитай тред отсюда>>1342225 эти вопросы пересекаются. Так же правильно говорят, полазий по документации хкод, она очень хорошая, для твоего случая есть целый раздел в корнеPreventing Timing Problems When Using Closureshttps://developer.apple.com/documentation/swift/preventing_timing_problems_when_using_closures
>>1344966Ты более менее правильно мыслишь. Твой код работал бы, если бы дата таск не принимал @escaping closure, а принимал обычный кложур. Когда видишь апи, который хочет @escaping closure готовься к геморою. Это значит что кложур будет выполнен спустя какой-то время а не прямо сейчас.
Цц, когда переворачиваю видимо collectionView не может подобрать заново размер. Куда копать? Мб метод есть универсальный
Мой мозг слямяляся 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 }
может у кого есть опыт продвижения в appstore?не понимаю, почему всякое говно нерелевантное входит в топ 10 по интересующему меня поисковому запросу, а мой апп с оптимизированным названием, словами из запроса в subtitle, keywords, description в какой-то жопе, чессловосделал и иконку вроде норм и скриншоты, все равно приложение затеряно где-то на дне аппстора, добавил еще больше ключевых слов в subtitle, так еще ниже упал(с практически таким же названием иконкой и скриншотами в google play стабильно вхожу в топ 5 по запросу)
>>1345640Вроде слухи были что разработчиков из России щимятhttps://developer.apple.com/app-store/search/
>>1345651Я об этомhttps://tjournal.ru/tech/79833-apple-zablokirovala-servis-search-ads-dlya-rossiyskih-razrabotchikov-iz-za-izmeneniy-v-naloge-na-google
>>1345640Все просто: количество загрузок влияет на позицию не только в рейтинге, но и в поиске. Можешь через какой-нибудь advertmobile.net купить поисковых загрузок для определенных ключевых фраз, и если приложение хорошее, оно останется на первых позициях.
>>1345677Алсо, отзывы не рекомендую брать через такие сервисы или же брать максимально осторожно - забанят нахуй.
С октября 2018, при публикации приложения в AppStore, требуется обязательно указывать веб-сайт поддержки приложения. Подскажите, пожалуйста, бесплатные сервисы, где можно простенькую страницу (текст + картинка + ссылка для обратной связи) создать и разместить. До сих пор для этого использовал Google+, но Google+ в апреле закрывается, так что он теперь не подходит.
>>1346396firebaseа если вообще заморачиваться не хочешь, то оставь просто ссылку на форму в гугл документах с двумя полями email и message - этого достаточно
опытный анон, в чем может быть причина, иногда viewcontroller открывается с пустым navigationbar, просто белая полоса, кнопки back нет, title нет
Как вы решаете вопрос с переиспользуемыми кастомными вьюхами?Попробовал сделать из программно, используя SnapKit и возможности автолайаута, то есть набрасываю в кастомную вьюху элементы, "стягиваю" их констрейнтами, и получается что вьюха сама задает себе высоту когда я добавляю ее в иерарихию вьюх контроллера(там тоже все связано между собой констрейнтами). Но вот попробовал пилить кастомные вьюхи в xib - мне это дело показалось очень удобным, не приходится читать заборы кода для простенькой вьюхи, все набросано в сториборде, а логика в соответствующем классе(тот случай когда в ините кастомной вьюхи инициализируется nib и добавляется как дочерняя вьюха). Только вот вопрос(разумеется к тем, кто с этим имеет дело непосредственно) - как в этом случае сделать, чтобы вьюха сама задавала себе размер? Когда я добавляю ее в сториборд, она ругается на то, что неизвестна высота(но она будет известна когда проинициализируется сама вьюха). Тогда я выставляю этой вьюхе фиксированную высоту в сториборде, но приоритет задаю 900 - теперь все работает, но не всегда. Особенно когда эти вьюхи в скроллвью. Есть ли тут боги верстки? Хочу вкатиться в эти детали, а то плаваю чуток.
>>1338159Я понял что это за хуйняhttps://developer.apple.com/library/archive/documentation/IDEs/Conceptual/xcode_guide-continuous_integration/index.html#//apple_ref/doc/uid/TP40013292-CH1-SW1это вот это вот дерьмо. правда не вижу пока чтобы там работала командная строка
>>1346970Спасибо анон, очень годный совет, хоть и очевидный. Отсюда следует еще один вопрос, который уже очень долго не дает мне покоя. Что делать, если рисую в IB, по всем канонам выстраиваю скролабл контент(скролвью->контентвью с той же шириной), и в контентвью у меня содержатся эти самые вьюхи, которые зададут себе высоту в ходе выполнения, но IB ругается, думает что эта вьюха простой хуй, и она не знает своей высоты.
>>1347236Крепкому мидлу падает по три заявки от хрюш в пол года. Шанс найти работу для мидла 1/3 за пол года и 1/2 за год. Я бы сказал, что скорее нет, чем есть.
Спустя полгода решил почитать про ПОП, словил лулзов. Тогда и не понятно зачем полю age давать онли { get }, если и так и так получается менять. Значит пора читать доку.
>>1347662Ну ясен хуй, ты к нему как к структуре Студент обращаешься, в не как к сущности, конформящей протокол Персон.
Привет, посоны! Не бейты лучше обоссыте! Собственно пытался вкатиться в веб, катился, катился, но не вкатился. Дико ненавидел верастать, прям блять аж тресло нахуй, по этому верстал на уровне 3 дня почитал статьи в интернете. Сам жс и реакт в целом был норм, не скажу что горел всем этим, но не плохо было, особенно когда конторы давали тестовые задания и у меня была конкретная цель сделать такую-то приблуду. Тогда мог и по 10 часов сидеть, гуглить делать. Не суть кароч. Кароч катился я 5 месяцев примерно и началось заканчиваться бабло. Пришлось срочно искать работу. Куда пойти когда нихуя не умеешь? (относительно разработчика конечно) Пошёл в тестировщики на мобилки, геймдев, контора сразу меня обмазала меня техникой эпл, и макбук прошку дали и айпадов, айфонов ебом, бери что хочешь, пользуйся чем хочешь. Сижу с посанами тестирую, в целом весело конечно, но немного переживаю за своё будущее, я хочу через 2-3 года получать 2к $, по мне это хорошая сумма для жизни. Но есть опасения что в куа я этих денег не увижу. И здесь я подумал, что а почему бы не вкатиться, точнее попробовать вкатиться в разработку под айос? Даже если не пойдет, то для работы всё равно полезно будут хоть какие-то знания, всё равно в хкоде ковыряюсь, логи снимаю, парсю билды появятся еще какие-то более глубокие знания всего этого. А теперь к сути. Можно ли начинать учить сразу со swift? Что по конкуренции? Мне кажется, что пониже чем во фронтенде должна быть. Я на самом деле сейчас охуеваю сижу с конкуренции в куа, со слов лида он провел около 170 собесов, за последние пару месяцев и взял только 3 человек, нас сейчас 3 жуна на испыталке. Мне кажется что во фронте что-то похожее происходит. Насколько сложнее swift сложнее того же жс? Если я не осилил вкат во фронт, то я совсем безнадежен? Что имеет по деньгам средний сфивтер по деньгам через год? Как дела обстоят с РЕВОЛЮЦИЯМИ? Жутко бесил фронт, что каждую неделю какие-нибудь хипстеры делали в нём новую РЕВОЛЮЦИЮ, берешь курсы по реакту за 16-17 год, а там уже устаревшая параша и никто так не пишет мол, сейчас другие бест практис от этого просто не успеваешь тольком нихуя выучить, как новая хуйня появляется. Ну кароч, анончики жду советов мудрых.
>>1347662Когда ты уже гайд по языку прочитаешь, необучаемый>>1347711>Но есть опасения что в куа я этих денег не увижуУвидишь, смотри на hh.ru qa automation/lead>Что по конкуренции?Работы для вкатывальщиков нет>Если я не осилил вкат во фронт, то я совсем безнадежен?Да
аноны, нужен ли собственный мак при поиске работы? или большинство компаний предоставляют все необходимое
>>1347711>геймдевНе заметил, это хуево кста. Куа в геймдеве - это, как правило, мартышки, которые не растут, так что действительно имеет смысл задуматься о чем-то другом. Но мобдев сейчас такое себе, в обоих тредах ноют что работы нет. И всякие флаттеры с фуксиями от гугла определенности не добавляют.
>>1347742А мне нравится геймдев. Я спецом искал геймдев, мне интересно это. Да и на самом деле здест важна платформа, мобилки, чем сам продукт. По сути в ui один хуй куда тыкатт в игрульку или в очередной говно калькулятор или тудулист. Здесь главное специфика мобайла, тестирование рекламных сеток от гугла, фейсбука и т.д. умение работать с хкодом и андроид студио, ну и всякие впн и т.д.В тестерах счас вроде наоборот мобильщики самые востребованные, т.к. их мало. Через год планирую как раз и отликаться на мидла в геймдев и просить 1500 $по курсу.
>>1347963> Тогда и не понятно зачем полю age давать онли { get }, если и так и так получается менять> Ну и зачем мне тогда писать в скобочках {get set} ? То что соблюден я это знаю.https://pastebin.com/XDcsc6Lf
>>1347986>не понимает что такое протоколы и зачем они нужныВырывать что-то из контекста и преподносить, а в прочем, понятно где мы сидим.>>1348121Вот оно как, хм, тонко. Спасибо.
>>1348287>Вырывать что-то из контекста и преподносить, а в прочем, понятно где мы сидим.Не обращяй внимания. Это от недостаточного понимания материала. Фишка эпл это продавать и делать умные вещи. Они сделали очень умный язык и продали его так, как будто это самая лёгкая и доступная изи вещь в мире и что даже любой технарь может в него вкатиться. Вся эта суперпозитивная подача на ввдц, посде которой охуевший зал радостно хлопает в ладоши хотя никто НИХУЯ не понял. Я тебя уверяю, что свифт никто нихуя так и не понял. Это супер научное достижение, и чтобы его понять нужны ГОДЫ.
>>1348292>Я тебя уверяю, что свифт никто нихуя так и не понял. Это супер научное достижение, и чтобы его понять нужны ГОДЫ.
>>1348660>Так лучше не делать.Какие ваши аргументы?https://ru.wikipedia.org/wiki/Don%E2%80%99t_repeat_yourself
>>1348745Отлично.Но мало того, что решать это наследованием — зло (особенно в Свифте, где Бог дал протоколы). Так ещё и речь о вьюхах.
Когда иос уже умрет? После ошеломительного успеха флаттера я просто не представляю как вы сможете жить дальше. Стабильные 60 фпс, супер легкое создание вьюшек, кеширование их и в целом, очень приятная работа с UI.
>>1348940А есть норм приложения на нем? А то что не смотрел - все говно. Даже ковырять не хочется. Еще и в прошлых тредах анон, который на реакте ебашит, писал что флаттер не такой пиздатый.
>>1348967Окей, запили мне вот такой апп на иосе.https://itunes.apple.com/us/app/the-history-of-everything/id1441257460
>>1348969Чел, ты в серьез пишешь, что флаттер может больше нативных средств разработки? Я даже не уверен, что он дотягивает до них.По сабжу, это было вторым приложением после Reflectly, которое я смотрел. Увидел кое-какие недочеты, проблемы с базовой анимацией как и в других приложениях и удалил.Таймлайн прикольный, но я бы предпочел увидеть что-то несложное, но хорошо вылизанное вроде Things. Пока то что я вижу напоминает что-то среднее между приложением и сайтом.
>>1348940А кроме вьюшек флаттер что-нибудь умеет? Ну они допустим допилили норм кроссплатформенность, а что если нужно допилить AR, нейронные сети, и проч проч?
>>1348660>Зависит от твоего уровняи каким же он должен быть? и что ты под этим понимаешь? конечно если это не 10 лет опыта и все такое
Захотел поэксмериментировать с созданием кастомных коллектионс вью леяута, все что нашел, так это пару туторов. Нихуя не понимаю, вдупляю уже второй час вот в это https://octodev.net/custom-collectionviewlayout/Какое-то удаление леяут аттрибутов, какой то метод без внутри ничего, определения index path, что это за блять такое. Параллельно держу доку на 10 вкладок каждого овверайднутого метода и все равно блять сложно. Что за пиздец. Почему нельзя начинать с малого.
>>1349566>Почему нельзя начинать с малого.Рекомендую сначала у Рэя смотреть, там всегда все разжевано со ссылками на уроки попроще, если они нужны.https://www.raywenderlich.com/392-uicollectionview-custom-layout-tutorial-pinterest
Ребят, а на каких ресурсах лучше искать работу, чтобы удаленно разрабатывать под лучшую мобильную ос?
ULTRA RAGEКак же у меня бомбит с этих блядей из купертино>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 сделать, бляди
Как блядь сделать кнопки со стрелками(шевронами) в навиг баре ??? чтобы слева была <back, а справа next>через инсеты выдрочить имэйдж и лейбл? Они же будут по разному выглядеть на разных девайсахеще у этих navigationItem.barbutton ебанные области ограничивают по краями в гугле нихуя как будто у меня первого такая задача
>>1350200Не выдумывай, ты в любой момент можешь получить смску, нажав на соответвующую кнопку под формой вне зависимости от того, что с твоим тилибоном и пришел ли тебе пуш.
>>1350216наверное можно использовать аттрибутед текст для кнопки, в котором использовать первый символ как шеврон из авесом фонт
>>1350354И нахуя тогда привязка к айклауду? Есто что, блядь, обычная анальная дырявая привязка к sms, только еще и с доп гемором? Пиздец, блядь, т.е. они заставляют принудительно вкрутить дыру в аутентификацию? Просто блядь слов нет
>>1350355уже как-то вылепил через инсеты и на разных экранах примерно одно и тожетам же, если через этот символ, то эта стрелочка будет маленькая, а не как у дефолтной back ?
>>1350378Очко у тебя дырявое, а аутентификация самая обычная, как у всех остальных. С той лишь разницей, что тебе не надо качать левое приложения для получения кода.
блять, никак не получается загуглитьможет ли в viewWillTransition outlet быть nil ? на ровном месте в фабрике валятся креши EXC_BREAKPOINT, нихуя не понятно, показывает на вот эту строчкуguard let flowLayout = myCollectionViewOutlet.collectionViewLayout as? UICollectionViewFlowLayout else { return }
>>1350512Вакансии, котоыре висять дольше месяца - мониторинг рынка. Проект по факту укомплектован, а ищут дополнительного дурачка, который будет знать всё и просить копейки.
Сколько гуглю не могу понять почему вквебью отдает JavaScript execution returned a result of an unsupported type, можно как нибудь evaluate подробнее вывести ошибку?
>>1350450У всех остальных нормальный TOTP. Даже у ебучего вконтакта.А у блядского иппла надо сраный айклауд включать и симку оформленную на свой паспорт палить. Это пиздец какая дырень.>С той лишь разницей, что тебе не надо качать левое приложения для получения кода. Это самое левое приложение я могу на любую систему поставить, и даже данные забекапить. А симку не могу. И айфон не могу.
>>1350454блэд, если в ручную засунул viewcontroller в navigation, то вьюхи не за инфлейтились а viewWillTransition походу вызывается(
Я понял что 3 года опыта а тяну по скиллам на джуна с одним годом, знания очень раскиданы и пиздец короче, например с юай кодом вообще не умею работать и прочее.Как все знания упорядочить, какую книгу начать читать что по порядку будет тематика, но не для ньюфаговТакже как и где почитать как с нуля правильно строить приложение по правильной архитектуре, потому что блять я всегда приходил в компанию на готовый проект и сидел либо на небольших фичах, либо на багфиксах, самостоятельности никакой нет, а страх с нуля делать - пробовал, какое-то говно уровня васяна делаю и это никак не тянет на 3 года опыта моих
>>1351138Выбери тему и пили петьпроект может даже под мак и учи свифт. Всякие юай это все не то. Надо систему учить, язык, работу с файлами, сетьевые протоколы. Книгу по линю почитай.
>>1351255очень полезно, работа с консолью, сети, файлы. Разовьет тебя нормально. Тащемто макось это тот же гну
>>1351259Так я работать с ней умею и прочее.Проблема в том что знания раскиданы, на одной работе там верстал менюшки и прочее, на другой немного сеть ковырял и тд, в итоге всего по немногу и поверхностно. А не глубоко>>1351268Ок, спасибо, я помню открывал ее, казалось какой-то усложенной с водой без практики, попробую дрочить по вечерам
Аноны, объясните мне почему xcode на прошке не задействует все мощности или как это включить? Уже искал такое - не нашел. Сториборы висят, архивы архивируются, почему он даже не пыхтит? Зачем он все делает на минималках?
>>1351434А вообще заканчивай книжки скачивать. Это говно полное. Ты себе медвежью услугу оказываешь. Книги надо только покупать.
>>1351461Да, я просто хочу сделать эту клоаку лучше и общение более качественным. В рамках этого треда ситуация реально улучшается.
>>1351467Ты читать умеешь? Я уже работаю, тот пост к посту выше.>>1351449Ну покупать куча книг сомнительное удовольствие, те которые нужны были - я в бумажном виде имею
>>1351489Так куча книг ненужна. Нужна одна две мощные книги настольные и всё. Это распространённая практика.
>>1351259Лол, он тебя траллет. Ты сисадмин или девопёс дохуя, чтобы линь учить? Как раз UI – это то, за что платят на рынке.
>>1351562Вопрос был всё же в иной плоскости. Анон хочет стать на путь развития до лида тут. Да и юи это верхушка айсберга, как я себе представляю. Чтобы у тебя на экране был шустрый юи надо всё вот это уметь.
>>1351568>Анон хочет стать на путь развития до лида тутОкей, но где он это писал? Тогда всё зависит от его понимания "лидства".
Как можно освободить главный поток, если несколько сервисов, находящихся на разных очередях, многократно считывают одни и те же данные у одного объекта?
>>1351568> Анон хочет стать на путь развития до лида тут.Я об это вообще не писал, мне не до лида сейчас, мне бы снова стать крепким миддлом, а потом и сеньером.
>>1352373> освободить главный поток, если несколько сервисов, находящихся на разных очередяхА главный поток чем занят? Может тебе вообще просто CPU не хватает? Попробуй очередя с сервисами запускать с низким приоритетом, или добавь искуственную задержку между считываниями (миллисекунды хватит).
Аноны, порекомендуйте, пожалуйста, литературу/материалы для изучения MVVM и RxSwift. Желательно такие, при помощи которых вы сами освоили данные темы.
>>1352443Ничего в этом сложного нет. Доки.Если не понимаешь - читай внимательно.Не укладывается в голове - читай еще больше внимательно. Некоторые вещи приходят спустя время.И конечно же создаешь проект и практикуешься с маленьких шажков до больших. Это ласт пункт очень важен.Я тебе это говорю блять как человек, который без всяких ебучих курсов вкатился с нуля. Игнорировал год доки, в итоге хуевое время.А теперь съеби.
>>1352443кстати да, на rxjava сто пицот статей на медиуме прочитал, годная дока с примерами, видосы вот это всеначал смотреть rxswift - дока говно, примеры раз два и все, ну видосы не искал пока
Есть тут те, кто подавал заявку на летнюю стажировку в яндекс на ios разраба? Или может даже успешно ее прошел?
Как и програмач. Хуле тут вообще интересного? Кроме пруверов и Нейронщиков нет нихуя. Даже Го скурвился.
Кто-нибудь имел дело с платежными картами? В проекте используется яндекс касса, но бэкэнд для приложения принимает на вход почти все данные карты, включая энкриптед cvv код, токен, какой-то штамп карты. Просят провалидировать карту и отправить на бэк токен. С апи кассы это как-то совсем не соотносится, может я чего не знаю
мертвый, тамучто никто не отвечает, ибо одни вкатывальщикивот вкиньте мне пример хорошего mvp на ios ?спрашивал best practicies/typical mistakes - никто не скинул (и я словил крешей например с data race condition) отдельная тема как фиксить креши - в фабрике валятся вообще не понятные данные, ни стектрейса понятного. ничего. Смотрел видос с wwdc - чел советует определять креш по адресу памяти! типо, вот у меня глаз наметан - это memory curruption, вот я охуел
>>1355363Минимальный процессор для программирования хотя бы консольных приложений, про gui и речи быть не может.
Чому когда я указываю у корневой вьюхи все маргинсы = 0, а сабвьюха клеится к маргинсам, всеравно отствуп 20px?
>>1356613Для iOS < 11 корневая вьюха просто игнорит это свойство - делай свою сабвьюху, лепи ее к краям корневой, ей уже ставь отступы и закидывай всю лапшу в нее. Для >= 11 используй directionalLayoutMargins с viewRespectsSystemMinimumLayoutMargins.
>>1356761Оно устанавливает дефолтные значения где-то между viewDidLoad, в котором ты скорее всего свои пытаешь установить, и viewDidLayoutSubview. Если закинешь их в последний метод - скорее всего заработает.
>>1356783Я не байтодрочер чтобы сточить заборы, когда можно в пару кликов сделать. Я же скрины прилепил, потому как на них весь "код"По поводу отступов так и есть, в viewDidLayoutSubview уже переопределенные значения по 16, вот пидорская шлюха
>>1356793>Я не байтодрочер чтобы сточить заборы, когда можно в пару кликов сделать.Я тебе так скажу. Ты либо сразу отучиваешься от этой хуйни, либо наживаешь несколько геморройных шишек на анусе, а потом все равно отучиваешься.
>>1356837Ну пробовал я пару раз избегать сториборды, возвращаешься в свой проект и начинаешь линейно скролить файл и вычитывать где нужно что поправить. Потом попробовал максимально возможно в сторибордах рисовать, в особых случаях естественно кодом. В этом случая, возвращаясь в забытый проект, довольно таки быстро получается найти искомое место так как поиск не линейный, а по абстракциям, да и в файлах порядок, удобочитаемо и по существу. Когда я должен набить шишку?
>>1356885Про минусы http://lmgtfy.com/?q=why+i+do+not+use+storyboardЧтобы не было лапши в коде просто определяешь размещаешь вьюху и устанавливаешь констрейты в двух местах: layoutSubviews для вьюх и loadView для контроллеров. А конкретные свойства с помощью ленивой инициализации:>>1356885Про минусы 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}()
>>1356905Так и делал, я ведь не с неба взял идею кодом рисовать, да и читал подобные статьи, половина аргументов очень частные случаи.Хотел от анона услышать какие он конкретно шишки набил ну да ладно.
Ок, вкурил ллвм. А что можно почитать по поводу мостов обжс и свифта? Видел прост недавно с ВВДС как челик оптимизировал стринги под это дело.
тупой ios блядбвот скажите мне, какого хуя referenceSizeForFooterInSection вызывается для collectionview которому я не регистрировал footer?
>>1359075и соответственно я не ожидая этого отдаю там не нулевой размер, и это вызывает viewForSupplementaryElementOfKind, ну просто охуеть
>>1339184ГУГЛИШЬ ПРОБЛЕМУ НА ИНГЛИШЕ@ПЕРВАЯ ССЫЛКА НА СТЕКОВЕРФЛОУ@В ПЕРВОМ ЖЕ ОТВЕТЕ ИСЧЕРПЫВАЮЩЕЕ РЕШЕНИЕ ПРОБЛЕМЫ С ПРИМЕРАМИ КОДАГУГЛИШЬ ПРОБЛЕМУ НА РУССКОМ@ПОПАДАЕШЬ НА ФОРУМЫ ЭПОХИ WEB 1.0 ПРАВИЛА ФОРУМА НА ПОЛ ПЕРВОЙ СТРАНИЦЫ@ЗАПРЕЩЕНО ПИСАТЬ КАПСОМ, КРАСНЫМ ШРИФТОМ, ШРИФТОМ БРАЙЛЯ И УКРАИНСКИМ ЯЗЫКОМ. ЗАПРЕЩЕНО ОБСУЖДАТЬ МОДЕРАТОРОВ. ЗАПРЕЩЕНО СОЗДАВАТЬ НОВЫЕ ТЕМЫ. ЗАПРЕЩЕНО ОТВЕЧАТЬ ТЕМ У КОНО КАРМА МЕНЬШЕ 9000@В ОДНОМ ЕДИНСТВЕННОМ ОТВЕТЕ ПТШУТ, ЧТО ТАКАЯ ТЕМА УЖЕ ОБСУЖДАЛАСЬ И ПОСЫЛАЮТ В ГУГЛ
Как же хорошо когда все тихо.Сегодня спустя месяц вспомнил как ебашутся константы ко вьюшкам, прилепил еще пару, но под все юзеркейсы придется думать и думать, если уж дальше углубляться в построение через код.С 16 марта уволняюсь с текущей РАБоты и пробую летом устраивается на ждуна. Нужно будет обжс подраздротить.
Анончики, посоветуйте видеоуроки, в которых показана разработка какого-нибудь сложного приложения с нуля. Интересует архитектура, соответствие паттернам, принципам SOLID. Т.е. не тупо как создать tableView и вывести в неё данные из JSON, а что-то посерьёзнее. Чтобы и GCD задействовать и всё такое.
>>1362497Сам я сделал уже дохуя чего, но это всё говнокод. Хочется посмотреть на то, как реальный практикующий программист называет классы, выносит экстеншены в отдельные файлы, грамотно применяет MVC, вот это всё.
>>1362880>Хочется посмотреть на то, как реальный практикующий программист называет классы, выносит экстеншены в отдельные файлы, грамотно применяет MVC, вот это всё.Ты троль? Берешь и пишешь в гит - ios rxswift + another technology. Все.
>>1362880Не обращай внимания на этих лопухов, они считают должным ответить хоть что-нибудь. Сам перелопатил немало проектов, пару приёмчиков перенял из каких-то проектов, но чтобы прям эталонные, на которые можно равняться во всех смыслах - не видел, но интересно было бы взглянуть. Так что два чаю этому реквесту
dp нихуя не одинаково выглядят на разных экранах. привязываюсь к размерам экрана, например, кнопка.ширина = экран.ширина * 0.1подводные?
>>1363911Я пробовал в интерфейсе написать int lalala и ничего не писать в имплементашине.По твоим словам - это работает, по моим - set get нету.
Нахуя нужон shared, если сделав все статичным, будет то же самое? Это я про синглтон, в обоих случаях он живет весь цикл приложения, ленивую инициализацию в счет не берем, так как она для подгрузки в синглтон данных, условимся что это нечастый случай.
>>1364367> Это я про синглтон, в обоих случаях он живет весь цикл приложенияА потом ВНЕЗАПНО оказывается что тебе всетаки нужно два разных объекта (поменялись требования) и у тебя весь код по пизде идет. shared это попытка сесть на два стула - у тебя с одной стороны есть синглтон. А с другой он какбы и не синглтон тащемта, так как ты всегда можешь создать и второй не shared объект, если вдруг нужно. Если тебе нужна статика (тебе кажется что так красивее интерфейс класса) всегда можно обернуть работу с shared в методы класса. Тогда у тебя будут методы класса для работы без явного получения ссылки на shared, будет возможность получить shared если тебе удобней работать с именно объектом (это нужно для DI, например) и будет возможность создать не синглтонный объект с специфическими настройками, если нужно. И выбираешь что больше подходит под конретную задачу. Швабодка.
завезли ли в appstore нормальный install referrer ?читаю тут про 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.Ничего не понятно. Типо после установки вызовется метод, но гарантии что в нем получим диплинку по которой установили апп нет ?
Есть ли среди нас байтодрочеры? Глянул одну статейку и подумал, а ведь в iOS вполне можно обходиться без подов. Например зачастую в проекте аламофаер используется на 10% и вполне заменяем пару функций, использующих родный апи. Смотрю даже кеш какой-то есть, и кингсфишер можно заметить написанием своей функцией под свои нужны. Профит в том, что потратив время эквивалентное изучению документации пода, можно написать свой велосипед который кастомизируем, и даёт преимущества тем, что прокачиваешься в использовании родных возможностей и написании велосипедов. Всякие snapkit тоже по-моему не так полезны в большинстве проектов, только добавляют слой неизвестной работы в проект, преимущества это меньше кода и гарантия что не забудешь в очередной раз перевести переменную в фолс. Собственно дискасhttps://qnoid.com/2016/04/10/A-primer-in-HTTP-caching-and-its-native-support-by-iOS.html
>>1365412>аламофаерНе данный момент не нужен, действительно лучше написать свою обёртку вокруг NSURLSession.>snapkit тоже по-моему не так полезны в большинстве проектовVFL или лейаут фреймами — это боль. Так что он скорее полезная вещь.Но вопрос: а причём тут байтодрочеры?
>>1365492>Не данный момент не нужен, действительно лучше написать свою обёртку вокруг NSURLSessionТы так сказал? А где я буду логи с респонсов просматривать, уеба. А?
Мне за 30Последний раз писал код лет 10 назадДумаю вкатиться сюдаИли не надо?Мнения, идеи, поливание говном
Аноны, хочу пойти на курсы по Swift, около полугода изучал со сам, но далеко не все получается понять самому. До этого никогда не занимался программированием. Может быть кто-нибудь ходил/смотрел именно с преподом? Дс.
>>1368900В проектах, где есть легаси-слой на Objective-C.Или где всё как с самого начала писалось так и пишется на нём.
можно как-то качнуть приложение с айфона на комп и декомпильнуть содержимое бандла? (там текст и картинки)
>>1370328Нет, можно по-другому, через apple configurator устанавливаешь приложение на айфон, оно сначала скачивается тебе на комп во временную папку какую не помню - гугли в виде ipa - открываешь как zip архив
Ищу что отвечать на "export compliance" при сабмите приложения которое общается с сервером посредством https. По интернету гуляют предположения о том, что нужно указывать yes и отправлять этот "year-end Self Classification Report", другие пишут, что если приложение использует только https, то его можно классифицировать как 5D992, что освобождает от этого репорта. Но в обоих случаях люди пишут с непоколибимой уверенностью. В рунете об этом почти ни слова. Ладно я с дохлым английским не могу в этом всем разобраться, НО КАК люди с нативным инглишем не могут разобраться в этих своих законах, и почему эта проблема так малоизвестна в рунете? Ведь на кону выпил приложения из апстора
>>1370644>Ведь на кону выпил приложения из апстораТы так пишешь будто это что-то ужасное. Ну уберут его из стора, поставишь галочку в нужном месте и снова отправишь на ревью.
Вижу не первый раз на биржах людей, ищущих программистов со своими приложениями в апсторе, готовые их продать. В чем соль? Планируют допиливать?
>>1370650Да, но если ты поставишь yes то это уже твоя проблема а не еппл, для чего эта галочка и нужна (эпплу прикрыть свою жопу). В магазин приложуху отправят (если пройдет ревью). Репорт нужно (в некоторых случаях) отправлять тебе, эплу на него похуй. Когда говорят что при https отправлять не нужно подразумевается что ты выбираешь пункт yes (типа отправишь) но ничего не оправляешь потому что не нужно. Ну и если ты не гражданин США то тебе наверное в принципе похуй на это, покрайней мере на уровне неуловимого Джо.
>>1370699Вот так гораздо понятнее. Нам тоже надо, так как сервера апстора в штатах. Да и слать, как я понял, нужно просто на какой-то майл табличку.Я представляю, выпилили у моего клиента приложение с апстора, а я такой «отвалилось? А ниче! Ща обратно залью!» лол, это по-нашему
че гейосовца, к вам вкатываться на джуна на свифте или нет обьясните мне? хули вакансий не существует в россии на тот же свифт, на что вы живете?
>>1370979был бы батя генерал я бы на говнокоденг хуй бы клал лол, нормально же спрашиваю за направление, хули ты
>>1370644Я про это писал в прошлом треде.>>1370743Тебе нужно отправлять письмо в департамент промышленной безопасности США. Можно ли емейл — не знаю, США это отсталая страна с факсами и чеками. Тем более федералы.
>>1372230https://www.bis.doc.gov/index.php/all-articles/15-policy-guidance/encryption/560-encryption-faqs#13Без факсов и чеков вот тебе пожалуйста емайл, который они сами же и предоставляют. Всем спасибо за внимание.
>>1374106Нет, такими мы занимаем роботами. Им даешь дизайн - а они ручками его вбивают, строят в запросы, и сейвят в БД.В основном только мидл+ для контроля над этими процессами.
>>1370952>>1374106Вы мне лучше скажите, хуле погромистов начального уровня нет, я готов прямо сейчас человек пять-шесть взять, причем вообще с нулевым опытом, научить их и обучить. Но людей вообще нету, за последние полгода хаэры привели только двух жалких школьников, которые не смогли даже пояснить разницу между object type и value type. Хотя казалось бы миллионник. А от пэхапистов и дотнетчиков отбоя нет.
>>1374761если ты в котосибирске и изучал программирование не только по туториалам "напишем приложение вместе с Дашей за пять простых шагов", то пиши на pes.ebliviy@gmail.com
Вообще, это уже не смешно нихуя. Что ни пост или тред, то нытье про работу и как вкатиться. Добавьте перед шабкой в перекате, если он будет, что работы нигде нет и вкатиться никак нельзя, чтобы совсем прохожих не было.
>>1374812А тематические треды нахуя по-твоему? Пусть лучше будет полный тред ведроебов вроде того в начале треда с вопросами уровня свифт-гайда, чем "как вкатиться и че работы нету)" В конце концов есть же неподражаемый мы вам перезвоним для такой хуйни.
Если ты такой чувствительный, то ок, опиши в шапке ситуацию с работой. Не блять "работы нет", а годный анализ.Верю в тебя :]
>>1374833Лол, да это ты по ходу дохуя чувствительный вкатывальщик, раз тебя задело предложение таких долбабов с порога нахуй слать.
>>1374847Покупать мак, покупать аккаунт. Учить свифт, учить сдк, учить обж-с хотяб в общих чертах. Сидеть на сухарях на джуне или на чёрном хлебе на мидле ещё долго потом. Работы для синьеров нет.
>>1374847Я таких сразу на собесах валю, что-то типа owned & weak, а если такие вопросы отвечают, то задаю по типу как в протоколе объявить тело методу.Вкатывальщики сразу сыпятся и я их посылаю нахуй.
> Покупать маккстати, няшки, у меня тоже вопрося тоже вкатывальщик но не к вам, я ваннаби джаваскрипт макакавопрос. говорят, что приложухи под айфоны легче монетизировать чем под андроид, но даже на нативном реакте если без говноэкспо чтобы их строгать нужен мак. эппл я терпеть не могу и вестись на такую гнилую разводку не буду. мой вопрос, реально девелопить и публиковать их (я знаю, они берут анальную плату, но тут ничего не поделать) имея например спираченную макось на виртуалке?
>>1374861>Я таких сразу на собесах валю, что-то типа owned & weak, а если такие вопросы отвечают, то задаю по типу как в протоколе объявить тело методу.Тебя в мидлы неделю назад перевели, а ты джунов собесишь?
>>1374950Везде, где нужны опциональные методы для non-objc протоколаНапример, универсальный заполнитель таблиц на frc:https://pastebin.com/1RRyLi1Wмимо
>>1374976По-моему наоборот, ничего сложного. Как weak только быстрее и добавляет ответственности, полезно при проектировании: если что-то упало из-за нее, значит неправильно спроектировал.
>>1374964>мимоТОгда вы оба дебила, что тот хуй >>1374861, что ты тк это все описано блядь в документации, кого вы там экзаменуете так непонятно
>>1374996Он спросил пример - я дал его. А в документации вообще все описано, на то она и документация. Что ты несешь вообще.
Аноны, подскажите пожалуйста.На данный момент являюсь веб-макакой. Хотелось бы сменить сферу деятельности, а именно - изучить swift/object-c.Суть вопроса: насколько принципиально наличие последней версии macOS для начала программирования? Смогу ли я нормально заниматься под Sierra, например?
>>1375896Сможешь, но не на актуальной версии языка/сдк. Чекай совместимость на странице икскода в апп сторе.
Как мне задать match по height во втором вью контроллере, который спрятан за скрином?Я в дальнейшем его буду выдвигать жестом на скрин.
>>1380363Так же как и для любой вьюхи. Слева в иерархии вьюх зажимаешь ctrl и тянешь нить от контейнера к корневой.
Сколько байт занимает свифтовый инт в памяти? это же структура, то есть там помимо самих 64 бит данных еще какая-то параша хранится?Как в свифте хранятся тела методов класса? Они дублируются для каждого экземпляра, или все экземпляры одного и того же класса + все потомки при выполнении метода берут код из одного и того же места?
>>1380693>Как в свифте хранятся тела методов класса? Они дублируются для каждого экземпляра, или все экземпляры одного и того же класса + все потомки при выполнении метода берут код из одного и того же места?https://www.raizlabs.com/dev/2016/12/swift-method-dispatch/
Блять, не могу понять, как мне передать данные из одного контролера в другой используя онли делегейт. Зачем мне этот сегуе? Я собираюсь высчитывать ежимилисикундно данные и пихать их в другой контроллер.Большинство туторов только на сегуях блять. Как мне получить инстанс Б класса, чтобы в А я смог его уже приаттачить и пользоваться заимплементированным методом? Уже 1 час сижу и охуеваю.
>>1380786Segue - это переходы в IB, они показаны стрелочками. Если ты тот чел выше, то можешь увидеть, что встроенный контроллер тоже такую имеет. Соответственно, прежде чем он будет встроен и показан, будет вызван метод prepareForSegue, в котором ты можешь получить встроенный контроллер, присвоивать ему делегата или вообще сохранить и крутить как хочешь и где хочешь.
>>1380786Segue это просто способ получения ссылки на второй контроллер в первом. Если ты его не используешь то ищешь какой-то другой способ. Например, если один контроллер создает второй то веставляешь сразу при создании и делегата. Или это может какая-то третья сущность делать. Или сделать так чтобы контроллер не отсылал напрямую инфу в второй, а апдейтил стосяние модели. А второй уже получал эту инфу от модели (через наблюдение или еще какю хуйню).
>>1380813Нет, у меня на экране сразу 2 контролера живут.Все что сейчас смогу - так это ебнуть синглтон для такого взаимодействия.
>>1380822можно передавать кложур с запечёной ссылкой на первый контроллергугли ввдс 2016 сессия 419https://developer.apple.com/library/prerelease/content/LucidDreams
>>1380786Если ты ежемиллисекундно передаешь данные из одного вьюконтроллера в другой, то у тебя что-то сильно неправильно сделано.Какие данные ты передаешь, в чем их смысл?Если это что-то, касающееся данных, то передавать их надо через модельную часть (особенно если у тебя видно только второй вьюконтроллер). Если у тебя видно одновременно оба вьюконтроллера, и ты, например, на первом таскаешь какой-то крыжик, а второй от этих перетаскиваний меняется, то тут я бы данные передавал бы либо через контейнер, либо как и просят через делегирование. Ебанул протоколы, связал два вьюконтроллера на уровне контейнера или аппделегата, и погнали.
>>1380850то у тебя что-то сильно неправильно сделано.Что неправильно? Драгаю Б контролер, и А контролер смещается относительно Х.>Какие данные ты передаешь, в чем их смысл?CGFloat очевидно.
>>1380852Если ты тянешь одну вьюшку и это приводит к тому, что двигается другая вьюшка, то этими перемещениями должен заниматься тот контроллер, на котором они обе лежат.У тебя три контроллера: А, В и R. R корневой, А и В дочерние. Соответственно, R может иметь прямые ссылки на А и В (как минимум, потому что он их создает и на себя кладет, неважно, руками или через сегвеи сториборды). В этом же месте, где все создается, ты можешь назначить R делегатом вьюконтроллера А.В итоге:Ты тянешь вьюшку контроллера А, контроллер А получает об этом сообщения. Он отправляет данные своему делегату (контроллеру R). Контроллер R имеет указатель на контроллер В, так что он может либо передать ему координаты, либо самостоятельно изменить его положение.Как-то так.Или тебя интересует, как именно в деталях настроить делегирование между A и R?
>>1380870Хм, я понял да. Бтв препаре сработало в этом рутовом Р. Мне осталось лишь просто из Р в Б передать данные.
>>1381497KVO еще есть, мб в твоем случае будет удобнее, чтобы не тянуть протоколы через кучи контроллеры
Спрошу здесь, ибо платформы лучше нету, а разработчики эстеты! Чего такого посмотреть/почитать про паттерны/архитектуры, чтобы отшлифовать знания о них. Что-то бодрое и светлое в стиле Стэнфорд юниверсити курсов по iOS
>>1381734Платина блять. Нихуя хорошего в изучении архитектур нету. Этим ты только тупеешь и превращяешься в жирного спесивого тим лида щегаляющего понятиями и унижающего джунов. Учи язык, расширяй кругозор, исследуй новые непроторенные пути.
>>1381734Pro Design Patterns in Swift/obj-cЧистая Архитектура /Мартин/App Architecture (by objc)Развивайся
Ну что господа. Это случилось. Я нашел работу Джуном в 33 года. Спустя 2 - 3 года обучения, я таки получил офер в продуктовую компанию. В нашем городе, это одна из лучших продуктовых компаний. Итак, коротко о том, как это произошло. Я начал учить программирование со Swift 2 у Скутаренко по марафону. После я понял, что этого мало, и начал учить Обж-с. Выучив у того же Скутаренко Обж-с, я получил первое тестовое задание от небольшой компании, и успешно его завалил. Потому что тогда вообще не знал ничего о верстке приложений. Дальше, я подтянул этот компонент, и заказал курс на Юдеми по Swift 3. пройдя половину, я начал пилить свое приложение, и получил другое тестовое задание, о котором я когда-то тут писал. (жестами надо было квадратики расширять и поворачивать), его я тоже благополучно провалил. После этого, я нашел эту группу, пересмотрел несколько Жениных уроков, которые охватили некоторые мои пробелы, и их удалось заполнить. После чего я подал резюме в эту компанию, получил тестовое, и прошел его до стадии собеседования, которое благополучно завалил ). Но руки не опустились, я начал изучать теорию, практиковался, помогал другим ребятам тут в группе и пытался во всем разобраться. Через пол года я подал резюме в эту компанию повторно. Они дали другое задание, и я его опять завалил, но мне дали время его переделать. Я переделал, и меня снова пригласили на собес. На этот раз на собесе мы договорились, что я перепишу все на VIPER, и с небольшими вкраплениями rx.swift. И как вы могли догадаться я снова облажался ). Но тим лид предложил еще подтянуть знания, указал какие и через 2 месяца я снова получил тестовое, сделал его и о чудо. Наконец-то я все сделал правильно. Так я получил свою первую работу junior IOS разработчика в 33 года. Тем кто дочитал до этих строк. Пробуйте и никогда не сдавайтесь. У вас все получится, если вы будете этого очень сильно хотеть. Да, стоит отметить, что подавал я резюме на все вакансии, будь то Jun, Middle или Senior. В том числе и в компании куда меня взяли Джуном вакансия была Middle. Всем удачи. Спасибо всем кто помогал, и спасибо Жене за уроки. Их я еще буду смотреть непересмотреть
>>1381832Охуеть у вас тут порядки, с джуна спрашивают за вайпер и реактивное программирование. У нас на яве спросят про хешмапу, спринг/хибернейт, если ответишь то ты принят и сразу вперед, разбираться в каком-то говне, где нету ни спринга ни хибернейта. Я пытаюсь вкатываться в swift, пока конторы даже не собеседовали глядя на год опыта, но на фрилансе периодически удается взять проект средней сложности, где хватает свифта и mvc если аккуратно. Что нужно для ios мидла на удаленке?>>1381806Начал читать 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 в супертынпрайсе?
>>1381852>Что нужно для ios мидла на удаленке?Вазелин. Готовность писать допотопный код. Готовность ебаться в легаси говне. Готовность быть пидарнутым за факап команды, так как удалёнщик всегда крайний.
>>1381852Да по сути mvc хавтает за глаза. На счёт тестов, mvc тоже ими можно покрыть. Чё ещё сказать то?
>>1381806Бтв у меня есть первый пикрил. Ну такое себе. Архитектура разная в каждой кампании и на ней не стоит зацикливаться. Офк эти выводы были сделаны спустя пару месяцев дроча архитектур.
А и еще вайпер это переделанная ссанина людей, которые перекурили как раз этого Мартина. Я представляю его идеи и реализовывал их, но что творится в иосе это пиздец.Жалко единственное что впадлу делать веак референс и создавать отдельный класс презентер для каждого контроллера. Пока планирую ебнуть синглтон Repository который будет менеждить мапить данные и в каждом контроллере этот инстанс дергать.юз кейсы и интерактор такой же остается, потому что уже привык. + Локал.
>>1381852>Главное что VIPERЯ юзаю вот VIPER от рамблера, немного видоизмененный. В генерамбе свои темплейты поправил чтобы не ебаться с сторибордами, а все делать как человек через ксибы и мне норм. Книга у них тоже ничо, чисто для знакомства с их видением вайпера.>objc - app architecture, авторы котируют только mvc и mvvm-сДа, тоже заметил, но в целом книгу стоит хотя бы прочитать, чтобы иметь представление.>>1381864Ну так Мартин пишет не про то, какую ты архитектуру сделаешь, а какие свойства архитектуры помогут тебе в дальнейшем и как эти свойства проверить и найти. В целом книжка полезная, особенно если ты пишешь проект у которого периодически меняются требования.>>1381865>А и еще вайпер это переделанная ссанина людей, которые перекурили как раз этого Мартина.Ну это и хорошо: разбивка на слои + четкие границы и разделение ответственности. Получается недурно, хотя для приложения их 2х экранов оооочень жирно и избыточно.
Короче все эти проповедники вайперов это перекатщики с других ЯП. С шарпа или Явы и им просто лень переучиваться. Те кто сидел изначално на иос на хую вертели всё это говно. Я ещё понимаю mvvm высрали бородатые обжективсишники которых просто заебало возится с мутабельностью. Но риал пацаны. Свифт решил этот пиздодроч с выбором архитектуры. Как тут правильно заметили всё пишется под проект. Выбирать какую то архитектуру которая накладывает кучу ограничений ещё не зная что предстоит писать это хреново.
>>1381875Ахуенная аргументация. Кроч пацаны, функции первого порядка, лямбды, замыкания, DI — это все хуйня из другого мира, нам бы писать лапшу да дрочить байтики, вот это работка, да.
>>1381878Чувак я сам сижу сейчас на вайпере. И я 100 процентов говорю, что вайпер в конечной своей точке когда уже пора реализовывать то что он так красиво описал на уровне протколов скатывается в ёбаную легаси ссанину. Так что да. Такие дела. Слишком это всё теоретизированная залупа и во многом бесполезная.
>>1381880Значит, ты делаешь неправильный вайпер со смешением слоев. Но без кода это все разглагольствования, а код из нас никто не покажет, так что откланиваюсь.
>>1381872>Ну это и хорошо: разбивка на слои + четкие границы и разделение ответственностиЭто никогда не хорошо.Слои выбираются командой, архитектура избыточна. В стиле от баду вайпер - ссанина потому, что они исковеркали сами идеи и добавили свои.>>1381878 DI — это все хуйня из другого мира, нам бы писать лапшу да дрочить байтики, вот это работка, да.Мда, сразу вспоминается ебанина с ДИ в ведройде. Когда я узнал что тут такого нет это был кек.Особенно я не понимаю популярность рхСвифа. Рх нужен только в ведройде, потому что там нихуя нет. Но тут сука и так GCD + операйшины есть. Мапы редюсы встроены в язык. Можно продолжать вечно.
>>1381887>Мапы редюсы встроены в языкТолько не в язык а в стд либ. Всё верно. Стд либ рулит. Всё то время которое уходит на изучение каких то левых архитектур стоит посвятить на стд либ, потому что это склады гениальных идей, и её можно учить годы.
У меня есть отдельная build phase с bash скриптом, который генерирует некоторые переменные для компилятора. Как их передать компилятору оттуда?
>>1381961Так это в худшем случае, в лучшем, если у лида есть мозг он идёт к дяде сисплюсплюснику и просит реализовать всё это говно на бекенде и отдать ему айпи к которому он может подключить свои блять щупальца с которыми он нихуя не знает что делать.
>>1382002Ты бы написал хоть пару моментов какие проблемы возникали при вайпере, какая там у тебя возникает легаси ссанина и где, а то пока звучит как беспруфный кукаер или как подметил анон выше - шизка.
>>1382010Это на дваче я не буду обсуждать. В телегу тоже не зовите. Нахуй короче. Кто не понял тот поймёт.
Помогите разобраться с Background Fetch. Суть такова: IOS должна запускать приложение в фоне, а в AppDelegate должно отрабатывать 2 функции.1) Загружает данные из CoreData в массив;2) Загружает данные из Firebase и сразу проверяет их на вхождение в массив. Если полученного значения в массиве не найдено, то срабатывает Push.Проверяю работоспособность на эмуляторе через Debug -> Simulate Background Fetch.В результате корректно отрабатывает только первая функция, а загрузка из Firebase может либо вообще не запуститься, либо загрузить только пару значений. Для того, чтобы всё нормально сработало нужно симулировать Fetch раза 3-4 подряд.
Ребят, как обстоят дела на рынке ios'а? Щас хочу выбрать отрасль, где бы хотелось развиваться и работать поитогу. Выгодно ли будет вкатиться в свифт? Работку потом после универа на джуна смогу найти например? Проясните мальцу.
>>1381832Молотчик, что за город? Не ДС я так понимаю, если деанонить не хочешь напиши сколько населения.
>>1382399Тебя кулстори выше, где чел три года вкатывался на позицию ждуна с вайпером и реактивщиной, ни о чем не говорит?
аносы, как запостить текст и картинку в твиттер без использования сдк. совсем не хочется тянуть сдк этот(
>>1382453Вот и готовься к егэ.Помню как написал егэ на 40 баллов, минимальный порог. Но я тогда даже програмач не знал толком.А ты уже знаешь. Так что пиши минимум на сотку.
>>1382473> Пишу сейчас на 70 минимум, думаю на 80 напишу точно.Бери выше, там делать нечего. ЕГЭ это самое легкое, что может быть в жизни. В вузе тебе придется хуярить еще жесче. Особенно советую мат анализ, ибо я на 1 курсе проебался с этим.>Есть смысл поступать? Без корочки далеко не уедешь. Мб преподы норм попадутся.
>>1382454Дак это и пугает. Ну малоли мож рынок развивается как раз щас в поезд залететь свифта, через какое то время мб станет популярнее.
Я тут зашел на страничку фуксии и там написано, что ее UI делают на флаттере. Ну вы понял, да? Всем вкатывальщикам срочно переучиваться!
а на чем ещё ее интерфейс могут делать? я лично надеюсь для фусции будут джс фреймворки потому что манал я учить дарт
Не совсем понимаю как асинк + синк может вызвать дедлок. Дедлок - это же когда один поток ожидает действие другого, а другой - действие первого. На картинке мы же просто говорим выполни асинхронную операцию, а в ней синхронную с чем-нибудь. Я не понимаю.
>>1382758Строчка со синк ждет пока тред не освободится, но тред не освободится, пока все строчки в теле функции не отработают. В первом примере дедлока не будет, кстати.
>>1382828потому что в очереди queue должен выполниться код внутри SYNC блядь, который тоже в той же очереди. А там:> тред не освободится, пока все строчки в теле функции не отработают.
Чет я застрял на том как ебнуть делегейт из рутового контроллера в ребенка. Получается из ребенка можно послать в родительский посредством prepeare у родителя, но чтобы заинитить прераре и у ребенка - не получится.
>>1382870Иди читай что такое делегат, наркоман, а то складывает впечатление, что для тебя он нечто большее, чем просто объект, соответствующий протоколу.func prepare...() {let parent = selflet child = segue.destinationparent.delegate = childchild.delegate = parent}
>>1382920Нет, оказывается когда чайлды приаттачиваются они вызывают к прераре у рутового метод и в нем уже можно проинитить делегейты для каждого контроллера.>что такое делегат,Это каллбек.
>>1382845погодиasync запускает bg тред. внутри async что-то делается, и ставит на запуск sync. async стопается. где-то паралелльно отрабатывает sync разве не так? почему async должен ждать sync ?
пипец, купил компухтер 2017 года аймак, самый младший. Короче мой старенький толстенький аймак ничуть не хуже это точно. Ну на видюхе типа больше метров в три раза чем на старенькой радион. Но это никак не ощущается. А некоторые анимации на старом компе заметно плавнее работают и сглаживание пизже. Не говорю даже что на старом компе у меня 4 ядра а на новом всего два. Хоть и турбобуст типа есть. Но у меня ощущение что ядра всё же важнее. Короче новые аймаки это по итогу этакие ноутбуки на ножках. Короче не понимаю почему муавей не могла стать на старый комп никак. Эпл в очередной раз развела анона на бабули.
Ебаный врот. Что за ебанутые люди не смогли за столько времени задать очевидные вопросы.1. Хочу стартовую позицию tab bar контролера поменять. Не с 0 чтобы стартовал, а с 3.2. Хочу чтобы при клике на один из индексов он мне не показывал контроллер, а я создавал сам его программно.Пиздец нахуй, как это гуглить.
В итоге я нашел как инитиал кастомный сделать, но чтобы он не открывал контролер - не стал лезть.Решил руками написать, точнее уже написал. Ток пока словил защеку и не смог это захуярить в сториборд, жалуется на класс селл, хотя @IBDesignable поставил. Пришлось через код впихнуть.
Зачем нужен xcrun никак не пойму? По описанию man что-то не очень понимаю зачем это нужно, может мудрый анон пояснит? Запускаю команды без xсrun и все всегда работает