Покороче: Swift - открытый мультипарадигменный объектно-ориентированный язык программирования общего назначения. Создан компанией Apple в первую очередь для разработчиков iOS и OS X.
В этом треде вы можете ответить свои вопросы анонам, а они в свою очередь с радостью вам ответят. Показать код быстро - https://pastebin.com Показать код с регистрацией и смс - https://gist.github.com
Objective-C или Swift? - дерьмо или язык богов (Swift)?
А что насчет книг? Не нужны. Достаточно открыть библию двумя строками выше и окунуться в прекрасный мир Swift.
А английский нужен? В отличии от тебя - да.
А еще Swift вроде как двигается в Android сторону, да и вообще код недавно был открыт Apple, что дает возможность в скором времени наблюдать Swift на сервере, мобилках, небе и даже аллахе.
>>786380 (OP) Пол года пишу под айос на свифте. В плане юзабильности, конечно, это огромный шаг от обж-с. Но не могу скзазать что сам язык какой-то выдающийся. В нём нет никакой парадигмы, и на самом деле это даже хорошо, значит создавался для практических целей, а не во имя какой- о очередной концепции, с которой постоянно надо бороться. Например, Rust, где нельзя просто взять и начать писать код, ну и прочие ваши хаскели, да даже Java.
>>786507 >Например, Rust, А может дело в том, что >Пол года пишу под айос хотя да, нельзя, он не для тупой макаки которая даже на, блядь, жяве не может взять и что-то написать
>>786514 С Растом я разобрался, и могу писать на нем код. Но на нем нельзя буквально в первый день уже сделать что-то, и уж тем более сделать его массовым языком. Java я примвел в пример из-за ее ограничений в виде тоталього классодрочерства. Это не плохо, не хорошо, но это определенные ограничения парадигмы. У Swift такого нет. Swift не говорит что "МЫ ООП!!111" или "без сборщика мусора достигли безопасности памяти". Для эппла, и для гугла важно чтоб как можно больше людей делали приложения, чтоб маркет разбухал больше больше. Поэтому им нужно понижать порог вхождения. И я не вижу ничего плохого в этом. Ну кроме засилья стора всяким говном которое жрет по 100мб памяти
Была мысль вкатится, но: 1. Переезд на убунту с семерки чот не впирает. 2. Если и переехать - на чем тестировать свои поделия? На айфон я ещё не насособирал.
>>786507 > Например, Rust, где нельзя просто взять и начать писать код, ну и прочие ваши хаскели, да даже Java Я почти не разбирался с растом и хачкелем, но про яву - это ты что-то загнул. Другое дело, если хочешь сразу в интерпрайз. Там да, пиздец - фасады едут на фабриках и интерфейсами погоняет
>>787564 Эпл запилили CoreData - эта абстрактная приблуда может писать и читать из sqlite, xml, возможно mysql и т.д. На практике используется sqlite. Некоторые работают с sqlite через сторонние библиотеки.
ну чо посоны, я (>>787544) может к концу недели, если не буду сильно загружен, ещё подумаю чутка, и может начну вкатываться. уже нашел джва курса на плуралсайте. вечерком под пивас буду наяривать, если решу. тут буду вести свой минибложек.
аноны, без шуток, почему так мало вакансий на свифте по сравнению с обджектив-с? свифт не умрет не выдержав конкуренцию? или не станет андерграунд языком для избраных, который по факту 95% работадателям нафиг не сдался?
>>787862 >Ну ты фантазер Скорее ты идиот. Дотнет без его инфраструктуры - бесполезное говно без задач, а целит он, внезапно, в энтерпрайз, где именно она играет первостепенную роль.
>Там не больше чем в вашем Swift рантайме А нахуй он нужен на андроиде как нативный язык? Сделать компилятор в байткод не самая трудная задача, тем более когда фронтэнд уже есть готовый.
>>787864 > А нахуй он нужен на андроиде как нативный язык? Сделать компилятор в байткод Уже сделали - Kotlin называется (синтаксически они схоже на ~90%).
Он кстати в и JS компилируется, а в планах еще и native/iOS
>>787863 Значит они идиоты. Никто не станет переходить на дотнет на серверах только из-за дотнета и шарпа, особенно учитывая что он медленнее и инфраструктура у него там отстаёт на десяток лет.
>>787867 Ебанутые литералы словарей и вроди бы массивов. Странный conditional binding. Компилируется дольше, чем свифт (это официально гугол задвинул). А так да, приятный язычок
На счет того что гогл смотрит в сторону свифта, возможно это у них такой хитрый план, открыть свою помойку для эппл-девелоперов, тем самым переманить хотя бы часть хороших программистов.
>>790179 Только то, что настоящую гейлокацию, UIImagePickerController и MFMailComposeViewController протестить ты не сможешь, в остальном будет норм, я почти не пользуюсь девайсом, только симулем в разработке последние года три
>>786507 Чувак, любой постоялец, любитель, с linux.org.ru скажет что растушка учиться за выходные.
Этот язык создан как некая таблетка или облегчение для плюсовиков. Это типа должно быть легче. Но если тебе показалось это сложным, то я даже не знаю. Тебе может быть BASIC подойдет!
BASIC - это такое, что сразу сел и начал писать велосипеды.
>>790999 >любитель, с linux.org.ru скажет что растушка учиться за выходные. Он может сказать только что НИНУЖНА и по сравнению с сишкой ДИШРАДАЦИЯ, НИШВАБОДА.
Язычок то видимо не самый лучший судя по аншалгу в треде. Но я таки задам несколько вопросов: 1. Когда выйдет уже стабильная версия Swift 3? Можно ли считать что на нем можно что-то писать в продакш или нужно будет ждать 4,5, 6 и тд версии? 2. Когда уже сделают компилятор не только для макос и бубунты? 3. Что там с менеджром пакетов? Ну типа как Cargo в Rust. 4. Что с IDE? XCode - параша, AppCoda - тоже отдает говницом. Есть плагины для атома, саблайма, но как всегда везде версии в стиле 0.0.1 с глюками. 5. Нихуя не понятно за Arc. Все-таки сборщик это мусора или не сборщик? Как он влияет на производительность? Какой оверхед? Есть ли stop-the-world? Можно ли использовать Swift в риалтайм проектах? 6. Что с производительностью? Ясно, что бенчмарки не дают нормалньой картины, но мы все примерно понимаем разницу между С и Питоном. Примерно понимаем положение Rust и Java. Где тут находится Swift? Можно ли на нем писать что-то ресуроемкое? Сможет ли он конкурировать по performance хотя бы с джавой?
Язык вроде хороший. Нравится тем что не такой вырвиглазный и сложный как Rust - да да, я хочу писать код, а не бороться с борроучекером и пытаться понять из ОДНОГО СУКА ИСТОЧИКА (это растбук) как работать с параметрами времени жизни. Вообще Rust всё равно нравится. Нравится что в Swift есть функциональщина, паттернматчинг. Прчием для людей. Примерно как в Rust.
>>796557 1) Как только допишут все хотелки – никогда; 2) Он уже есть под большую часть систем – собирать правда придётся самому; 3) Всё нормально; 4) Поддержка е том же Clion-е есть; 5) Ну ты хотя бы вики открой. Это почти что концепция лайфтаймов раста, только упрощённая до жути; 6) У него есть жуткий недостаток – всё и вся виртуально, а это один из главных тормозов явы, тот же раст он никак не догонит.
Всё зависит от того, на сколько ресурсоёмкое. А ебаться в любом случае придётся – либо с борроучекером, либо с отладчиком.
>>796574 >явы В данном случае наверное Swift хотел сказать?
Какие щас вообще есть языки/компиляторы для ресурсоемких задач? Я имею ввиду когда решение задачи может занимать несколько часов или дней, и оператива будет вся забита под завязку независимо от данного объема. C, C++, Rust, D? Всё? Хочется на свифте прокатиться, но есть чувство что это очередной питон только многиеллибы еще не написаны.
>>796596 А для раста тебе нужно будет в 10 раз больше времени на разработку, при чём если ты раньше не работал с такими задачами ты гарантированно обосрёшься – если у тебя на 100% забита оперативка, то ботлнек будет именно в ней, и без готовых средств тебе придётся самому руками дефрагментировать и компактировать всю кучу, там уже похуй на процессор.
Это одна их причин почему в бигдате полюбили скалу.
>>796808 Которая срабатывает после пары десятков вызовов функции? нормас костыль так Ну уж спасибо ЖИТу за это. Только у свифта как и обжс это родовая травма, а не детская болезнь, в томи проблема.
>>796824 > тормоза > пары десятков вызовов функции Ты любитель оптимизировать на спичках или вообще в теме не рубишь?.. Оптимизации включаются после тысяч вызовов одного метода.
>>796873 Песочницы. Можешь поучить свифт например когда нет доступа к полноценному компилятору. >>796878 Не насосал ещё, iДевелоперы с гей-шлюх начинают.
>>796557 > Нихуя не понятно за Arc. Все-таки сборщик это мусора или не сборщик? Как он влияет на производительность? Какой оверхед? Обычный счётчик ссылок. Когда объект не нужен, он сразу уничтожается, а не собирается в отдельном треде, как в яве. Соответственно и stop the world нет
>>797780 В Swift Arc срабатывает во время компиляции? Какой тогда там оверхед? Значит ли это что Swift это почти как Rust, только автоматический режим.
>>796557 > Arc. Все-таки сборщик это мусора или не сборщик? Как он влияет на производительность? Какой оверхед? Конкретно у самого ARC никакого оверхеда нет, так как он отрабатывает при компиляции. Но есть оверхед связанный с самим подсчетом ссылок - к каждому объекту добавляется одно дополнительное поле для хранения счетчика. И появляются вызовы методов при добавлении/удалении владельцев для обновления счетчика и удаления объекта при необходимости.
>>799320 О чём думать? Что в свифте вместо указателей доступны только толстые структуры, вместо использования которых легче просто скопировать половину значений?
Ахуеть гениальность. Хотя чего можно было ожидать от компании, которая сумела сделать свой форк си работающий со скоростью явы.
>>787560 Сейчас джетбрейнс пилит поддержку свифта для clion (да странно немного, но видимо там будут все clang языки собираться). Этим летом был проект для студентов - собрать либы для автодополнения под линукс. Ну там на маке обычно отдельный процесс висит, который парсит проект и выдаёт варианты автодоплнения. Это говорит о то что задача не приорететная, но в скором времени будет более менее ок. На самом деле вроде и сейчас он приемлемо работает, просто из стандартной библиотеки языка не достаёт слова. Алсо на атоме вроде люди потеют, но думаю там всё выглядит очень уныло. И кстати на линуксе вполне приемлемый репл у свифта. Вполне удобнее чем плейграунд.
Из проблем на линуксе остаются: отсутствие применения свифта (если под мак иил айфон не компилишь то нахуй?), а причина этому отсутствие либ. Всяких веб фрейворков, графики рисовать, формочки выводить, на видяхах считать. Ну и даже когда они появятся - банально нет пакетного менеджера. Мб ситуация уже поменялась и меня кто-нибудь поправит.
хочу вкатиться в ios погромисты, надоело быть веб макакой, созрел такой вопрос связанный с железом, посоны денег практически нет, какой подойдет макбук под разработку? прям самый минимальный если, какого года брать и с какими характеристиками? тысяч в 12-15 можно уложиться?
>>796557 >5. Нихуя не понятно за Arc. Все-таки сборщик это мусора или не сборщик? Как он влияет на производительность? Какой оверхед? Есть ли stop-the-world? Можно ли использовать Swift в риалтайм проектах? риалтайм блять. Ой ебать как же у меня часто военные делают заказы на риалтайм. Сука какие фантазёры.
>>796574 >5) Ну ты хотя бы вики открой. Это почти что концепция лайфтаймов раста, только упрощённая до жути; ну нормально пояснил. Видно открывал вики.
>>797780 >Не путай нюфага – обычный счётчик ссылок работает в рантайме. >А эта хуитка заканчивается в компайлтайме. Интересная хуйня выходит. Пока все языки пердоляться с гц, в эпле нашли святой грааль - хуёвина которая расставляет делиты в компайлтайме. Наверное в джаве так не сделали чисто из-за легаси, да и просто привычка уже.
>>798182 >у самого ARC никакого оверхеда нет, так как он отрабатывает при компиляции >Но есть оверхед связанный с самим подсчетом ссылок Automatic reference counter работает при компиляции и без оверхеда. Хорошо. Ладно. Вот если бы ещё и без подсчёта ссылок работал было бы всем счастье.
Бля, ребят, ну если это такой толстый вброс то сделайте его ещё толще как-нибудь. Кидайте ссылки на даунов со стековерфлоу от которых вы всю хуйню услышали.
Собираешь хакинтош по buyer's guide от tonymac и никаких проблем. Брат жив, зависимость от топового мощного железа есть. Как вы там дрочитесь на эплоговне не представляю.
>>787832 Вакансий много, просто ты наверно мимо них пролетаешь, поэтому не видишь. Сейчас весь новый софт только на свифте, на обж-си легаси и поддержка.
>>787867 Котлин никому не нужное поделие, Свифт будет массовым и дефолтным. Свифт это паровоз, который будет долго тащить за собой кучу макак (увы, мне лично он не нравится)
Собирай хакинтош, более-менее сносно можно работать даже на кор2дуо/4гб (ты сам написал что бюджетный ищешь), чекай свое старое железо в рекомендуемых, возможно все будет работать из коробки
>>802752 > Наверное в джаве так не сделали чисто из-за легаси, да и просто привычка уже. В ней так не сделали потому что ты, уёбище, не понимаешь чем серверная тактика работы с памятью отличается от твоего говна на мобилках. Видишь ли, просто удаляя всё когда не нужно ты получишь жутчайщую фрагментацию кучи, из-за которой твоё говно будет работать медленнее раби. >Вот если бы ещё и без подсчёта ссылок работал было бы всем счастье. А как в расте хисптеры взвыли бы.
>>802752 >риалтайм блять. Ой ебать как же у меня часто военные делают заказы на риалтайм. Сука какие фантазёры. Может он хочет графику писать или компуктервижен, почему у тебя риалтайм ассоциируется с какими-то задачами гос. важности? >Кидайте ссылки на даунов со стековерфлоу от которых вы всю хуйню услышали. А ты сам до вики не дополз походу. https://en.m.wikipedia.org/wiki/Automatic_Reference_Counting > memory management enhancement where the task of keeping track of reference counting for objects is removed from the programmer and onto the compiler. ... >Under ARC, the compiler does this automatically by examining the source code and then adding the retain and release messages in the compiled code.[3] Первый же сука абзац.
>>803334 >почему у тебя риалтайм ассоциируется с какими-то задачами гос. важности? У меня риалтайм ассоциируется с детерменированным временем выполнения задачи. Согласись, не часто встретишь в ТЗ указание времени на отработку задачи. Ну хз мб, конечно, это универ мне мозг проел и надо воспринимать риалтайм как "чтобы игрули можно было поиграть". Реальность такова, что игры пишутся и на языках со сборкой мусора. При этом сборки делают частыми, многопоточными. В общем люди играют майнкрафт и им ок. И в таком случае значение вопроса "можно ли применять в риалтайм проектах" пустеет.
Ладно, если серьёзно - что этот механизм сильно умнее того чтобы расставить декременты перед присваиванием и выходом из скоупа? Компилятор сможет отловить циклические зависимости? Пиздец как эпл всех обыграли. Пытаюсь представить какая выходит экономия в сравнении с плюсами и походу ровно нихуя. Что там оно заходит в метод ретайн и декрементит, что в плюсах заходит в деструктор и декрементит. Остаётся плюсом только некий leak-анализ.
>>803334 Я тут придумал пример, который может подтолкнуть тебя к размышлениям. Вот сборщик мусора и счётчик ссылок как ни крути это рантайм инструмент работы с динамической памятью (призываю тебя поправить меня, если я уже здесь не прав).
И вот, допустим, я пишу свой JVM язык. Достаточно простой. Компилятор на самом деле принимает на вход java-код и на выходе отдаёт java-код для javac. Всё что он делает самостоятельная - это использует какие-нибудь очень крутые эвристики (машинное обучение с огромными моделями на каких-нибудь йоба кластерах) для того чтобы расставить "System.gc();" в тех или иных местах. Чтобы ещё больше реализма добавить - пускай он в начале отключает сборщик (вроде в шарпе так можно, да и в джаве тоже). Как считаешь: можно ли сказать что такой язык (ну, компилятор) решает проблему освобождения памяти на этапе компиляции?
>>803918 >Реальность такова, что игры пишутся и на языках со сборкой мусора. Реальность такова, что кроме полутора игр в которые входит убогий майнкрафт и 0,5 аркадок. Много знаешь движков уровня уныл/край-энджайна на джаве? Всякие сценки и логика да, пишутся на скриптах – там трудно заставить GC тормозить всё. >многопоточными Самый "многопоточный" GC который разработало человечество умеет только переносить фазу маркировки в отдельный тред, но всё так же останавливает мир. Ладно, ещё есть всякая закрытая коммерческая хуита с детерминированным временем сборки, только хули она меняет. >умнее того чтобы расставить декременты перед присваиванием и выходом из скоупа? Нет, просто отслеживает время жизни не только локальных переменных. >Компилятор сможет отловить циклические зависимости? Нет, это не GC. >Пытаюсь представить какая выходит экономия в сравнении с плюсами Такой что обычной макаке не нужно видеть этих деталей – она может не задумываясь шлёпать софт чтобы эпл всех продолжали кормить дерьмом народ в своей отчётности в виде "у нас н миллиардов приложулек в аппсторе". >>803924 >Вот сборщик мусора и счётчик ссылок как ни крути это рантайм инструмент работы с динамической памятью Только в случае с обычным счётчиком ссылок. >System.gc(); Ты хуй с пальцем сравнил. У ARC по расписанию удалится один объект (вся эта шелуха именно про подсчёт ссылок – попытка авторов сделать из си смалтолк, а не какая-то необходимость), вызывая сборку ты начнёшь сканировать всю кучу, чистить её и делать всё остальное в зависимости от вида сборщика.
>>803924 А я в свою очередь подтолкну тебя к размышлениям: Вот есть у тебя граф объектов из хотя бы пары сотен нод. Что быстрее: обойти его один раз, пропустив при этом старое поколение (по хорошему как минимум треть графа) или отслеживать каждый объект отдельно (причём если что-то поудаляется ты получишь трилионы индирекций и убьёшь нахуй локальность данных, даже если они не особо взаимосвязаны).
Короче: эпл сделали простую хуиту для простых приложений, выгодную в простых приложениях, не больше.
>>803928 >Много знаешь движков уровня уныл/край-энджайна на джаве? В хаксе сборщик мусора бай-дизайн, и на нём написан коммерческий движок от создателей геймбрюи. Просто все (кроме Нотча) делают так, чтобы сборщик мусора не работал, а если он не работает, то и деградации производительности нет. В принципе, то же самое и с ручным менеджментом памяти на крестах/сишке.
>>804010 Ахуеть, ты совсем дурак? У тебя спрашивают про ААА движок, который отлично работает и на среднем железе вроде плоек, а ты написал по какую-то хуиту от девелоперов флешь игр?
>>803928 >Реальность такова, что кроме полутора игр в которые входит убогий майнкрафт и 0,5 аркадок Андроид, юнити, да и ещё наверное много такого. Про край-энджайн не знал - звучит вполне весомо. Ну в общем да, мир трипл-А игр конечно же не завален сборщиками мусора. Да поинт был не в том. Я говорил в том что требование реалтайма в реали не ставится и при определённых обстоятельствах можно сделать игрулю на языке со сборкой, а значит нельзя однозначно понять что же скрывалось в этом вопросе "а можно мне риалтайм язык".
>Самый "многопоточный" GC который разработало человечество умеет только переносить фазу маркировки в отдельный тред, но всё так же останавливает мир. Кажется я столкнулся с экспертом. Допустим сборщик может расширять хип (но можно это сделать, просто добавив кусок хипа, хотя предпочтительнее realloc). Может компактить. Но если он чисто марк-свип, то зачем останавливать потоки? То есть после того как он пометил хип, вызвал финализаторы у недостижимых переменных, и дальше ты думаешь он реально что-то удаляет? Правда во время пометки он ставит много блокировок, но это не stop-the-world.
> Нет, просто отслеживает время жизни не только локальных переменных. Какие ещё бывают? статики, да строковые константы?
> У ARC по расписанию удалится один объект По расписанию совершится декремент. Блять да хуй знает дальше ты мне поясняешь за то как они работают, но самый первый посыл был в том что там сверху челы делают быстрые выводы по википедии и начинают накручивать себе, что у них в свифте тот же раст, только полегче. Твой посыл про компайл тайм проверки тоже подзаебал.
Кстати в сборщиках компакт или копи происходит не так уж повсеместно. По крайней мере в старом поколении оптимизировать локальность не так уж удобно.
>>804010 То есть хип бесконечно разрастается и никто за ним не следит?
Кстати к слову вспомнилось, что в питоне есть счетчик ссылок и сборщик мусора (удивительно для такого медленного языка) и можно отключить сборщик, если ты уверен, что не будет встречаться циклов. Мб ты про что-то такое же.
Но он заставил меня задуматься: а чем Swift лучше чем GO? Те если google решит пересесть с пик (java) на хуи, то почему это должен быть язык конкурентов, а не их собственный?
>>803929 Бля это конечно охуенно, что до 2011го на и без того убогом обжектив-с приходилось вручную подкручивать счетчик ссылок. Так и представляю большую функцию в конце которой retain; retain; retain;
Ладно, не это хотел сказать. В этих ваших трипл-А играх, когда shared_ptr доходит до нуля, вызывается delete и дальше идёт какая-нибудь оптимизация локальности? Или оптимизация локальности будет уместнее в скриптовой логике?
Не ну ладно, ок. Тут можно возразить что разрабы по максам используют пулы объектов. Но идея вот в чём: ты называешь арк хуетой для простых приложений и при этом по-видимому единственная претензия в локальности данных. За которой совсем не следят в C/C++.
>>804101 >Андроид https://github.com/android 2/3 сишных и плюсовых проектов. Упс. >юнити Там основа в виде рендера и прочего тоже на крестах, внезапно. >а значит нельзя однозначно понять что же скрывалось в этом вопросе "а можно мне риалтайм язык". Просто ты пытаешься этого не понимать потому что тебе не хочется уступать в споре, лол. >и дальше ты думаешь он реально что-то удаляет? Конкретно жвм нихуя не удаляет, но как минимум зануляет. > По крайней мере в старом поколении оптимизировать локальность не так уж удобно. Может поэтому копи-компакт сборщики делают это при каждой итерации сборки и не имеют с этим серьёзных проблем? >>804120 > В этих ваших трипл-А играх, когда shared_ptr доходит до нуля, вызывается delete и дальше идёт какая-нибудь оптимизация локальности? Там где нужно их просто не используют. В плюсах в отличие от свифта ээто просто один из доступных средств менеджмента памятью. >Или оптимизация локальности будет уместнее в скриптовой логике? Там работы с памятью как таковой вообще быть не может кроме хуиты вроде встроенных контейнеров. А вот они даже в плюсах имеют такие опции или дописываются свои, та же EA недавно свою STL на гитхаб выкинула. >За которой совсем не следят в C/C++. 1) Умные указатели в 95% ситуаций используют для регулирования владения в клиентском коде, а не отслеживания времени жизни чего-то там. 2) С чего ты взял что за ней не следят? Это опять же единственный способ мм там или что?
>>804092 Ты дебил. Теперь подумай, почему. >>804106 Нет, конечно. Обычно всю память под нужные данные выделяют при старте уровня один раз. При загрузке следующего уровня, всю старую память очищают и выделяют заново. Главное, чтобы в основном цикле ни гц ни выделятор не трогался.
>>804167 Да заебывает чутка. Ты не ответил какие бывают переменные кроме локальных.
мм - это memory manager? Ну всего там один delete ну и более низкоуровневые. Он не оптимизирует локальность. Поверх него строятся счетчики и сборшики которые тоже не оптимизируют.
Если говорить про джаву там копи только в молодом поколении. Наверное ты сам понимаешь это. Поэтому мое утверждение про локальность в старом поколении все ещё актуально. Если ты уверен что там есть переупорядовающий компакт - валяй, просвети. Зачем занулять память после пометки вообще хуй знает. Мб ссылку какую нибудь дашь на этот счёт.
>>804214 >Да заебывает чутка. Ты не ответил какие бывают переменные кроме локальных. Статические, а ещё объекты иногда живут дольше переменных (ВНЕЗАПНО блять) и отслеживать надо их время жизни а не переменных. Поэтому, блядь, ARC отличается от обычных скоупов. >мм - это memory manager? Это мемори менеджмент. Сам прочитай что я написал для начала, прежде чем писать хуиту: >единственный способ мм
>Он не оптимизирует локальность Там пишутся свои аллокаторы под каждый контейнер и др. хуита для дефрагментации, никто не строит сборщики и счётчики там где это не всралось. >Зачем занулять память после пометки вообще хуй знает Зачем писать хуйню если ничего не понимаешь? Вот хуй знает. Наверно потому, что: а) Банально легче дебажить; б) Чтобы кроме своих данных в свежевыделенной памяти нельзя было наткнуться на мусор. Это как минимум небезопасно как со стороны логики кода, так и со стороны возможность эксплуатации такой уязвимости.
>>804246 >>умнее того чтобы расставить декременты перед присваиванием и выходом из скоупа? >Нет, просто отслеживает время жизни не только локальных переменных. Ладно чел. Как думаешь в слове декремент какой смысл? Ну то есть ладно уверен ты знаешь что это -1. Но -1 по отношению к чему?
>>806269 В гугле. >>806267 Нужно, там в отличие от андроида нихуя не эмулируется. >>806460 Если ты дебил который не в состоянии гуглить и читать сам - да пойдёт, правда лучше задуматься о карьере грузчика щас бы заплатить за инфу из открытого доступа.
зашёл в /pr/ >>787843 >да и на яблочных пеках скоро будет хорошая конкуренция в виде WPF и прочего Ахахаххахахахахаха >>806483 >Нужно, там в отличие от андроида нихуя не эмулируется. ЛОЛШТО >>803929 >эпл сделали простую хуиту для простых приложений, выгодную в простых приложениях, не больше. ИКСПЕРТЫ СРЫВАЮТ ПОКРОВЫ >>802652 Бери Mac Mini если денег нет, только смотри чтоб памяти было 8GB.
Ребят, подскажите, если не трудно, с чего вкатываться в программирование? Swift или C#? Выбор из этих двух. 1) Где проще синтаксис? 2) Где больше перспектив? 3) Что быстрее изучается?
>>807524 Потому что его будущее уже гарантированно эплом. Шарп так-то перебивается на гуёвинами на шинде при всей помощи мс-а, а из дотнеткора наврятли что-то лучше платформы для аспточканета запилят.
Перепощу сюда из ньюфаготреда. Вангую, многие из вас пользуются техникой эпл для разработки. В связи с этим вопрос: подойдёт ли macbook air 13 1.6 проц 8 rg RAM для программирования? Прошку не предлагать, денег нет, интересует именно, потянет ли air с таким конфигом работу.
>>810548 Уже года 3 разрабатываю под Android на Air 4GB Mid 2013. Работаю в Xcode, IDEA CE, AndroidStudio, Xamarin. Так же тестирую IDE Rider (для C#) работает быстро - SSD решает.
Главное никогда не запихивай все UIControll в один Storyboard.
>>810581 >глаза не вытекают после 3-4 часового сидения? Сижу по 8 часов в день, и после работы еще как минимум 4.
>128 или 256? 128ГБ. Раньше держал еще Windows10 для Visual Studio на втором разделе и вечно не хватало места. Теперь перешел на VisualStudioCode (мини-C#-IDE для macOS) и удалил нафиг Windows.
>>810618 >за апгрейд до 256 приходится платить почти 20 тыщ. Палю годноту: https://www.ulmart.ru/goods/994779 Укороченная карта памяти, смотрится красиво и почти не выпирает. Идеальна для файло-помойки
Так же желательно ее зашифровать (стандартными средствами macOS), если кто ее достанет, то все равно не сможет прочитать.
Почему в этом вашем Свифте нет сборщика мусора? Вроде такой приятный язык и имеет перспективы за пределами эплоэкосистемы. >>807536 >Потому что его будущее уже гарантированно эплом. Ага, а в 2001 ты бы сказал, что будущее Шарпа гарантировано MS, а идея о том, что Эпл может что-то гарантировать, была откровенно смешной. Я думаю, самое лучшее будущее у языков, которые не зависят от какой-то одной корпорации. Поэтому Жаба, какой бы старой и уродливой она не была, не умрёт. Разве что ещё заменит какой-нибудь Котлин, а значит если не Жаба, то уж точно JVM имеет будущее. У Свифта, как я писал, перспективы выйти за пределы маков и айфонов есть и хорошие, но это пока только нереализованный потенциал. У C# и то получше дело обстоит (хотя не очень хорошо, конечно), и даже 5-10 лет назад было получше. >Шарп так-то перебивается на гуёвинами на шинде при всей помощи мс-а, а из дотнеткора наврятли что-то лучше платформы для аспточканета запилят. Лол. Гуёвые десктопные приложения уже давно в меньшинстве, C# - это прежде всего как раз и есть ASP.NET и ещё Unity, причём Unity кроссплатформенный и однозначно доминирует в своей нише (геймдев за пределами AAA).
>>810798 >Я думаю, самое лучшее будущее у языков, которые не зависят от какой-то одной корпорации. Поэтому Жаба, какой бы старой и уродливой она не была, не умрёт. Ты сам себе противоречишь.
>>811288 >ты ставил VM винду на air? Как он её тянет, не перегревается? Нет у меня 4gb ОЗУ, я диск разбил пополам и через BootCamp поставил Win10 на второй раздел. Особо не грелся, VisualStudio нормально работала благодаря SSD, но батарея садилась быстрее раза в 1.5.
>>811841 Это суть студии и дотнета, а не винды. При всей её критике всё же она как рабочий инструмент куда удобнее макоси. >>811324 Она не планирует его куда либо вообще портировать – сам компилятор языка просто не привязан к какой либо платформе вот и всё. Инструкции по компиляции или вот такие https://swiftforwindows.codeplex.com хуитки найти не сложно. Другое дело рантайм и стандартная библиотека, конечно. В двух словах – всё как с обж-с, большего ожидать не стоит. >>811442 А это такая большая роблема? Особенно в мобильных приложениях-то, очень крутую видимо архитектуру видимо требуется хуярить ради пары окон.
>>811908 Ну это хуйня какая-то получается. Они кинули в опенсорс свой язык, почти добазарились с гуглом заменить джаву, хотят чтоб свифт всё поработил. А в итоге кодить можно только с ебучего мака. Сами себе яму роют. Так сложно чтоли добавить в Xcode поддержку работы на винде.
>>811968 >почти добазарились с гуглом заменить джаву Это просто слухи, никто даже не начинал базарить. Они просто заменили обж-с который пугал людей незнакомых с программированием, чтобы те могли больше говна в аппстор шлёпать ради статистики.
Пусть сначала выпустят первую стабильную версию языка, которую не изменят через два месяца. >Так сложно чтоли добавить в Xcode поддержку работы на винде. Да, блять. Он написан изначально под макось со всеми её фреймворками и прочим – как думаешь, сложно ли портировать всю оконную подсистему на шину?
>>811908 >При всей её критике всё же она как рабочий инструмент куда удобнее макоси. Чем же?
Поясните за архитектуру графической новеллыАноним04/08/16 Чтв 00:27:29#180№812549
Анон, я ваще не кодер, просто жополаз с маком и элементарным представлением основ алгоритмизации. Поставил себе Хкод, решил запилить простую интерактивную новеллу для айфона, то есть на экране выводится текст и даётся выбор А или Б. В зависимости от выбора идёт следующий кусок текста, ну и так сюжет типа игроком формируется пока не доходишь до одной из концовок.
Я уже запилил экран меню с названием и кнопкой начала игры (класс SKScene, который назвал MenuScene). Нажав на кнопку переход к другому SKScene под названием GameScene. В нём текст, кнопка возврата в меню и две кнопки А и Б.
Ощутив себя гениальным программистом, я тут задумался, что как-то хуёво будет вложенными ифами пилить логику. Но и переходить на новый SKScene на каждый кусок текста тоже как-то объебосно. Как сделать логику отдельно от кода? В моём представлении что-то вроде таблицы сцен, для каждой указать текст этой сцены и куда переходить при том или ином выборе. Плюс чтобы он распозновал концовку, с которой никуда не нужно переходить кроме меню. Загружаем в GameScene текст первой сцены ну и идём дальше. Можно ли это сделать через plist? Это же как раз такой способ сохранения структурированной информации, которую можно из кода цеплять? Вроде как должно быть возможно запилить всю инфу о сценах там.
Как эту хуйню реальзовать, анон? Я смотрю и читаю туториалы по СпрайтКиту, но там везде про отрисовку и взаимодействие спрайтов. А такой вот логики переходов нигде не показывают.
Я понимаю вопрос тупой для тех, кто кодит постоянно, но я по работе занимаюсь вещами далёкими от программирования. За это взялся чтобы отвлечься от основных занятий, ну и навык может быть полезным всё равно.
>>812549 Ебать. у тебя фундамента нет судя по всему никакого. сделать отдельно бд с тексктом и пикчами, и один экран с выводом этой модели, а там уже переключай модели в зависимости от нужной
>>812582 Да, у меня только есть понимание самого кода: как пилить циклы, что такое объекты, то есть на базовом уровне знаю несколько языков. Но я ни разу в жизни не использовал эти знания в реальных проектах, поэтому структуру чего-то реально работающего я не понимаю.
Лучше всего помогают примеры и туториалы. Но как я написал, они все в основном про всякие простенькие леталки, раннеры и прочее. Тупо про то как создавать, двигать и взаимодействовать спрайты между собой.
Напиши плиз, как именно ты бы это реализовал, конкретнее с примерами если не сложно.
>>811908 >А это такая большая роблема? Особенно в мобильных приложениях-то, очень крутую видимо архитектуру видимо требуется хуярить ради пары окон. Ну Суифт, возможно, будет использоваться не только в мобильных приложениях с парой окон.
Полагаю, надо запилить какую-нибудь функцию типа LoadDialog(id), которая будет парсить JSON и выводить текст из диалога с нужным id. В зависимости от выбора она будет рекурсивно запускать сама себя с нужным следующим id и заменять текст, пока не дойдёт до какого-то конечного диалога, в котором не будет вариантов продолжения.
Это оптимально или есть более простой/изящный вариант?
>>812457 Лень расписывать все в десятитысячный раз. >>812598 Обж-с оттуда так и не вылез за столько-то лет, при наличии портированного рантайма и всего прочего.
Какую книгу по свифту лучше читать? от appcoda, ray wenderlich либо от бигнерд ранча. знания обж си есть, но вот по самой иос платформе знания уже слабее инб4 офф дока
>>812719 ОбжЦ просто нигде больше нинужен. Он умер своей смертью в 80-е, затем в 2000-е его выкопали и как бы воскресили. Если бы не самодурство Apple, никто бы на нём не писал.
>>813621 Гугл уже прямо намекают про свифт поддержку. Я в jet brains тестировщиком работаю и нам говорили про переход постепенный гугла на свифт так как хотят упростить создание приложений.И у гугла и эпл в планах открыть школы по разработке в Индии.
>>814486 >постепенный гугла на свифт так как хотят упростить создание приложений И заодно переписать с нуля Android SDK, внести кучу изменений, с которыми не все согласятся (дело и до форка может дойти) и превратить всё, написанное до 2016, в легаси. А между тем переход на Kotlin позволит упростить создание приложений без всего перечисленного выше. >>814487 Ну нет, если Swift всё же станет стандартом мобильной разработки, кодеров на нём будет столько, что станут резко набирать популярность веб-фреймворки на Свифте, GUI-фреймворки и т. д. и т. п. То же, что произошло с JS.
>>815052 Будет-то будет, вопрос в том что ты получишь ебучий лагодром, и выдавишь себе глаза когда увидишь как макось рендерит шрифты вне хайдпи экранов.
>>815158 Во-первых, не "полностью", а с "константным временем сборки". Это несколько разные вещи всё же.
Во-вторых, на барьерах запилен вообще любой конкурентный и/или основанный на поколениях сборщик, вась.
Другое дело что там хардварные фишки вроде поинтер форвардинга и ремемберед сетов до сих пор редкость (хуй знает почему кстати, такие железки уже 2 десятилетия клепают), за то и такие деньги.
>>815052 > Mac mini 2010 Обязательно купи для него БЫСТРЫЙ SSD (хоть на 32 или 64 gb). Без него это будут ебанныые тормоза, на любой запуск чего угодно.
Сравнивал macbook 4gb ОЗУ + SSD и mac mini 8gb ОЗУ + 1TB HHD - первый в разы быстрее.
Не судите строго за возможно нубвский вопрос. Делаю приложение для мобилы, нужно реализовать функционал чтоб юзер мог скачать с сервера вьюху. Например, сейчас я захожу в приложение, там список есть, в списке выбираю "калькулятор" - ну и далее функционал моего калькулятора. Потом юзер нажимает на "инженерный калькулятор" - и он выкачивается с сервера и теперь есть его функционал. Вопрос не в том как скачать с сервера, а вот в том возможно ли так организовать код, чтоб его можно было днамически подгружать? типа DLL что-то. Но на сколько я знаю в iOS это запрещено. Но есть ил альтернативы какие? Сразу релизовать в приложении все фичи не могу, нужно именно чтоб можно было дописывать и хранить на сервачке без обновления самого приложения.
>>811995 > Они просто заменили обж-с Уже 3 года после релиза свифта, но все встроенные программы на iOS и macOS написаны на objc, даже совсем свежие Photos и переписанные с нуля Spotlight и Disk Utility в прошлом году. Эппл сами клали хуй на свифт, только зачем-то раздувают хайп в среде сторонних разрабов.
>>803313 Ну хуй знает. Я отжалел 1.2 к$ за макбук эйр. Не могу нарадоваться. Всё конпилируется шустро, IDE нихуя не тупят, благодаря ссд. Можно было бы и мак мини, но его не возьмёшь куда-то, где нет моника. А с хакинтошем, думаю, хоть и на рекомендуемом конфиге нет нет да и будут какие-нибудь траблы. Я решил не ебать мозг и взял мак. Уже несколько раз окупился
Это ж не статик переменная, какого хера не сбрасывается n? ведь по идее единица каждый раз должна вызываться, n ж каждый раз на 0 прописывается при старте функции
Будущее кодинга - это таки Swift. Собственно для того Гугол и пилит новую ОС, чтобы для мобилок и кофемолок можно было кодить на Свифте, а о жабах и подобном говне забыть навсегда.
>>821304 >Собственно для того Гугол и пилит новую ОС, чтобы для мобилок и кофемолок можно было кодить на Свифте Ага, только маленькая проблема - новая ОС основана на VM для языка Dart.
И зачем мне нужен свифт, если я смогу на Dart писать сразу под android/ios/fuchsia? При этом у меня везде будет один код и один UI.
В более низкоуровенных языках как плюсы и раст это все делается руками (соответственно, и замыкания более гибкие). >>821322 >новая ОС основана на VM для языка Dart. Пока что она основана на няшной, дарт там просто как основной язык для гуя (хотя обещают офф. биндинги на все мейнстримвые языки). >И зачем мне нужен свифт, если я смогу на Dart писать сразу под android/ios/fuchsia? Ну меня например рвет от вида жс-кода, а дарт при этом сумел вобрать самое хуевое из явы с жсом. Хотя для замены погремушек вроде Phonegap-a и reacnative - отличная идея, хоть аот компилятор завезли вместо интерпритатора.
>>821322 >И зачем мне нужен свифт, если я смогу на Dart писать сразу под android/ios/fuchsia? И зачем мне нужен Dart, если я смогу на Visual Basic писать сразу под android/ios/fuchsia/windows/windows phone?
>>821349 >раст >это все делается руками Я не очень понял, что там делается руками? Там же вроде компилятор сам запихивает окружение в структуру и дает ей анонимный тип, от тебя требуется только понимание как ты это окружение будешь использовать: по значению/ссылке, мутабельно или нет. Поправь, если неправ.
Привет, анон, пишу приложение под айфон на свифте, встала задача сделать несколько простых табличных контроллеров со строками с заголовками и текстами различной длины (пикрилейт)
Хотел использовать готовый Subtitle, но не смог настроить у него динамическую высоту ячейки.
Решил сделать свой класс под ячейку, написал, привязал оутлеты, всё заработало, но подобное решение оказалось нельзя реюзать в другой такой же таблице, для неё пришлось бы создавать снова те же лейблы и новый класс.
но ячейка никак не хочет растягивать под контент, хотя в самих лейблах текст бьётся на строки и отображается нормально.
Уже 5-й час пытаюсь найти решение, но везде или ковыряние в сториборде (что не подходит, т.к. хочу сделать 1 раз под все таблицы), или же решение для статичных размеров. Может, Subtitle можно как-нибудь доделать?
>>822854 Не удивительно, ведь, как говорил Алан Тьюринг, "Студентов, ранее изучавших Objective-C, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации".
>>825377 Для более гибкого использование и будующего расширения, как и всё ООП. Создаешь заглушку геттера/сеттера, и используешь их. Когда понадобится что-то проверять/изменять/отлаживать - переопределяешь их не трогая клиентский код и всё.
Поясните как работают делагаты. Делал пример из книжки
1 пик - тут все понятно, я делаю протокол, который говорит что будут два метода, которые принимают такие и такие параметры 2-пик тут как я понял объявляю что моя переменная - будет тип протокола и типа мой инстанс верил вызывает эти методы которым на вход передаю вк и айтем? 3 пик- на третьем пике я типа реализовываю методы протокола, тут вроде все понятно кроме момента как узнать что туда не пустой контроллер и айтемы поступает? 4 пик - типа я первый раз перехожу и говорю мол этот контроллер куда я перехожу - будет типа этой верил, которая является типом протокола, т.е. до перехода у нас получается делегат нил все время был? И как я понял как только я делаю действие со второго скрина, то он дергает методы с 3 скрина из предыдущего контроллера, верно?
Мне от интерснее сравнить разработку под iOS на Swift и Web-фронт-енда c использование Angular или React. Говорил мне один человек, что по iOS труднее, дольше, но интереснее. Swift в глаза видел, понравилось, есть опыт разработки по десктоп на Java и вдел насколько отличаеться программирование под Android. Я утверждал, что на Swift должно быть проще чем под веб, так как все есть из коробки
>>827123 Alamofire.request перенеси в viewDidLoad. Коллбек там начинается с .responseJSON { (это красиво завернутый коллбек в стиле современных флюид интерфейсов). >>828954 Сложнее/проще - понятия всегда относительные.
Ребзя, кто посоветует годные каналы на youtube по разработке приложений на свифте? У Скутаренко больше с самим языком курс, а нужно что-то вроде того что свифтбук предлагает. Можно на английском языке.
Антуаны, поясните за синтаксис блоков. Почему я не могу быстро через enter сразу начать писать в блоке как в обже? Мне что каждый раз придеться обзывать переменные которые приходят в блок? И почему нет названия блока? Тут то ясно что это completion. А если бы была левая либа от Васяна? Как я пойму что делает блок?
>>802611 Ну как бы нормально и для девятки какое то время девелопить. Хотя, может для заказчика будут очень важны какие-то фичи десятки. У меня, кстати, был случай, что баг воспроизводился только на айфоне 6. Ни на его симуляторе, ни на моём айпаде ничего такого не было. Пришлось покупать 6 айфон. Ну зато хоть проапргейдился
>>828954 Лично мне приятнее и проще девелопить на свифте. Но заказчик хочет сэкономить и хочет кордову. Нахуй я ляпнул ему про это говно? Но может ещё отговорю
>>831592 Всё то-же самое. Только в обжективе аргументы были до фигурной скобки, а тут внутри скобок. Почему сделали так - потому что аргументы таки можно иногда не указывать. Но блок всегда будет выглядеть примерно одинаково { ... } . Я сам ещё не до конца понял, когда можно не указывать аргументы, а когда нельзя. Так же блок может быть trailing. Т.е. list.sort { $0 > $1 }.reduce(0) { $0 + $1 }. Т.е. выносим блок за скобки функции. А это намного читабельнее. С аргументами снаружи от скобок смотрелось бы хуже. И да, $0, $1, $2 - имена аргументов, если не указал их явно.
>>831600 Про trailing блоки и про 0, $1 я читал. Прикольная вещь, но зачем заставлять вручную называть переменные когда их нельзя не указывать? Чому нельзя было сделать как в обже? Как я понял пропустить их можно только если все их использовать. Видимо я чего то не понимаю.
>>831605 > Как я понял пропустить их можно только если все их использовать Мне тоже не нравится, что иногда их нельзя пропускать. Надо будет почитать доки, чтоб разобраться, когда такое происходит. Можно ещё использовать _ вместо имён переменных { _, _, _ in }
>>831632 Да, хкод сам предлагает такой вариант если ничего не указать. Но все равно уебство. Как я понял переменные приходится обзывать потому что яблоко-пидарасы. В своих классах указывают просто типы. Когда создаешь свой метод можно указать в блоке названия принимаемой переменно. Да еще если использовать код из обжа, где названия переменных указаны, свифт их обрезает и приходиться опять писать их руками. К примеру из AFNetworking мне приходит вот такая штука: AnyObject?. И хуй ты поймешь что это такое пока не полезешь в метод.
>>832539 А нагую тебе конкретно на свифте? Все нормальные книги по алгоритмам используют псевдокод, который без пробам порисуется куда угодно. >>832830 >Bolts Tasks is a complete implementation of futures/promises Загугли по двум последним кейвордам если что-то непонятно.
Аноны, где достать гайдлайны? В human interfaces нихуя не объясняют про отступы и размеры элементов. Доставьте что то вроде такого интродакшена material.google.com
З.Ы и фастом подскажите сколько должны быть header and foter у наших section height
>>835906 Вопервых: дизайн должне делать дизайнеры с учетом юзабилити, а не программист по каким-то фиксированным гайдлайнам.
>В human interfaces нихуя не объясняют про отступы и размеры элементов. По секрету скажу, не встречал еще ни одного дизайнера, который брал бы размеры из гайдлайнов material design. Максимум, они их диагонально просматривали на предмет общих правил.
>З.Ы и фастом подскажите сколько должны быть header and foter у наших section height Поехавщий, оставь это решать дизайнерам.
>>836570 Хули ты приебался к дизайнерам? Где я тебе высру дизайнера? > По секрету скажу, не встречал еще ни одного дизайнера, который брал бы размеры из гайдлайнов material design. Ты хоть на улицу выходил сына сычина? У нас даже в падиках марджины между дверьми и нарисованными хуями размеров в 16dp
https://github.com/reddymk/buttonandlabelactivityspinner - Как же меня бесит такая хуита боже. Как ему было не лень закинуть это все на cocoacontrols и в кокоаподс. Блядь там полторы строчки кода. Это либо слишком толсто, либо до смешного ебануто.
>>840093 Потому что свифт притягивает ту же аудиторию что недавно писала на ЖС. А там пакеты по 11 строчек от которых зависит несколько тысяч проектов - обычное дело.
>>840128 Лисподебил прибежал? В нормальных языках уёбищность функций не нужно прикрывать макросами - потому что это не лисп, и с ними тут все в порядке.
>>840601 Все иморты с пода подсвечиваются красным. Че делать? Все компилится, но я не тян, и для меня не нормально, что в моей интимной зоне(IDE) все красное.
>>840623 Всмысле? Он мне просто говорит что нет такого фрейма. Хотя автодополнение на этот нейм пашет, как и в импортах все окей. Сначала я это все в икскоде писал естественно.
Как найти работу? На всех сайтах с вакансиями требуют опыт минимум от года, чаще от трех, портфолио, знания кучи других технологий, и вообще зарплаты 100-150к. Где вход-то для простого начинающего хуесоса, который не против за еду обезьянить?
>>840959 Онли по знакомствам. Сам так устроился, и слышал от тим лидов, что берут только если кто то посоветует, и редко когда люди сами в поисках работы обращаются, естественно с ебунячим опытом и тоннами навыков. Плюс от коллеги слышал что, если ты без образования, то только по знакомствам, т.к даже не спрашивают, а если без знакомств, то обязательно нужна хотя бы одна вышка. Сам я среднеспециальное получил, а потом меня через знакомых посоветовали в компанию, где сейчас я и работаю уже второй год. Про образование никто никогда не спрашивал, только бухгалтерша единожды когда оформлялся, и то, ее перебил тимлид, и сказал "Забей, все впорядке".
>>811442 А что, гарбаж коллекторы уже научились без помощи программиста собирать циклические ссылки? Когда я программировал в 7й яве, там точно так же надо было делать weak ссылки. Так они есть и в свифте. Что ещё надо? Альзо, в нулевых или начале десятых, в обжективе был сборщик мусора. Но потом его выпилили и запилили счётчик ссылок
>>840689 Промисы больше нужны, когда у тебя куча вложеных друг в друга коллбэков. Нотификации - это способ уменьшить количество зависимостей между классами. Убрать ссылки друг на друга. Они не лучше или хуже, просто они немного для разных вещей используются. Хотя, иногда могут выполнять и одну и ту же задачу
>>841160 Меня препод в универе пригласил обезьянничать в фирме, в которой и он работал. Причём мне предложили работать даже не за еду, а за 300 баксов. Правда я им показал несколько самописных прог и сайт, который я наваял для школы, в которой проходил практику.
>>841873 >Когда я программировал в 7й яве, там точно так же надо было делать weak ссылки. Што ты пиздиш малец, в Android который базировался на Java 6 не было с этим проблем.
Вот открыл первую ссылку гугле - 2009 год и уже все в курсе про корневое множество.
>>842528 as! - кастует объект в нужный класс. Если объект не того класса, то будет эксепшен. as? - то же самое, но эксепшена не будет, а просто вернётся nil. Постоянно использую as?
Чего лично Вам не хватает в свифте, чтобы назвать его идеальным языком?Аноним17/09/16 Суб 18:46:04#313№843505
Мне осеньма не хватает 1. Абстрактных методов и абстрактных классов 2. Юзерских аннотаций. Было бы круто запилить аннотацию для нотификаций. Типа @NSNotification("BLA_BLA_BLA") func didBlaBlaBla() {}. Насколько нагляднее было бы. Да и много где пригодились бы
>>786380 (OP) Кто что скажет за ёбаный паттерн VIPER? У нас на проекте тимлид угорел по нему, на митапе долго рассказывал как всё будет МЕГАОХУЕННО И ЧИСТО. В результате в коде всё настолько ИЗОЛИРОВАННО-ПЕРЕИЗОЛИРОВАННО что для любого чиха нужно создать от 3 до 6 файлов и всё подключить только в одном ПРАВОСЛАВНОМ порядке иначе БОХНАКАЖЕТ пиздец. Меня и ещё несколько коллег это уже люто заебало. Это мы просто дауны и не понимаем всю охуенность или реально что-то не так? Никто не сталкивался?
>>845612 > VIPER Не разбирался пока, но чувствую, что такая же хуита для фанбоев, как и dependency injection. Пол-дня пишешь конфиги-хуёнфиги, классы хуяссы чтобы сделать простейшую вещь
Анон, на каком этапе правильно передать параметры в ксиб из вьюконтроллера? Есть некоторые проперти в ксибе, допустим цвет и название кнопки, я хочу из вьюдидлоада вк передать это в ксиб чтобы он с этимим определенными параметрами рисовало, но нихуя, ксиб грузит и нихуя, по нилу все, т.е. он тупо там даже не берет их? Что я пропускаю, куда смотреть? вроде после нибэвейка ж ок все должно быть
>>846120 Ты долбоеб, на простейшей вещи тебе показывают как это работает, чтоб ты мог применить ее на большом проекте, естественно для простейшей вещи никаких особенных паттернов не нужно. Более того, с опытом ты сам будешь замечать, что сам додумался до части паттернов, и сделал себе проще, и поймешь, что если бы сразу вник в теорию, то тебе бы не пришлось тратить своего времени.
>>848048 что ты несешь, поехавший? Во-первых, файлы с расширением xib называют нибами, во-вторых, это единственное что понятно из твоего описания, опиши по-человечески, приложи код, который якобы не работает как ты хочешь
>>848077 Блядь. Есть ниб, есть аутлет на вк, допустим @IBOutlet var huyPizdaView: HuyPizdaControl!
в нибе с классом HuyPizdaControl есть проперти pidor
так вотиз вк хочу туда в пидора передать что-то Вроде делаю все правильно, во вьюконтроллере на котором валяется вьюха с нибом пишу huyPizdaView.pidor = "pidor"
но крашится в ксибе мол там nil, так какого хуя нил? На каком этапе я там могу pidor использовать? Мне просто параметры надо передать в ниб для отрисовки некоторых элементов с параметрами
>>848094 Ты должен включить режим сплит скрина (кнопка 2 пересекающимися окружностями) и заасайнить вью из ксиба и пропертю из класса. Перетаскиваешь вью на пропертю и держишь при этом CMD
>>848094 у тебя ниб не загружен, однозначно, и не факт что он вообще грузится, ты в этом уверен? Ты в IB поменяй проперти какие-нибудь и посмотри, появляются они или нет, скорее всего нет, т.к. ниб и класс не связаны, то что ты название дал такое же - еще ничего не значит
>>848248 >>848215 Алло чуваки, сам ниб у мен язаебись отрабатывает, все ок, рисуется, все работает, анимируется. А вот когда в него ж хочу передать чет, то беда.
Дело в том что сама переменная содержит данные из вк, но только если допустим если я ее читаю в каком нибудь методе что срабатывает потом, допустим таргет повесил на кнопку там и там же посмотрел ее, а вот если сразу грузить ниб - то нихуя. Вот поэтому я и не понимаю почему так, вроде после loadViewFromNib и прочих ништяков гружу, когда уже по факту все отрисовалось, а нихуя
Вот как раз хочу узнать почему на начальном этапе он еще не читает ее.
>>848256 Ну еб твою мать. Допустим было stringByReplacingSubstring(dfdfg, with: sdfsdf) стало string(byReplacing: dfdfg, with: sdfsdf). Если уж код комплишен не поможет, так нагуглишь. Если для тебя это представляет проблему, то может ты не туда зашёл?
>>848317 >код комплишен это говнище глючит и падает с первой и до третьей версии свифта. В обжс все заебись работает, иногда жалею что связался со свифтом, эти тормоза комплишена, эти тормоза сборки, на обжс все летало
Как сделать колеккшнвиев динамичным как тейблвиев? Типо прототип ячейки, закопировать их программно сколько надо и работать с каждой по очереди так же программно.
Парни, что такое swift? Если я хочу сделать мобильное приложение надо ли мне читать операторы-шмаператоры хуемае или лучше гуглить на английском последовательно "как создать окошко", потом "как заполнить", "как сделать вызовы"? Просто я мельком глянул и это мне напоминает программирование мышкой, небольшой опыт есть, но он действительно небольшой. По какому пути советуете пойти?
>>856664 Учить его в любом случае придётся. Программирование мышкой там заканчивается на создании базовых форм. Этой самой мышкой ты даже обработчик для кнопки не сделаешь как во всяких дэльфи.
>>856664 Swift - просто современный язык общего назначения, если бы Джава или C++ делались в 2010-е, они бы выглядели примерно так же, и никаких фундаментальных отличий от других статически типизированных языков общего назначения у него нет: просто чище синтаксис, лучше поддержка функционального программирования и при этом удалено то, что давно пора было удалить, но в других языках терпят ради обратной совместимости. Неслучайно же Swift так похож на Kotlin (ещё один язык, созданный в 2010-е, и тоже не заточенный под что-то специфическое). Единственной необычной фишкой является ARC вместо GC (в Котлине, например, как раз GC). И применять Swift можно для чего угодно, в том числе игор, веб-бэкенда и т. д. Программирование мышкой по-моему вообще распространено при создании GUI, это не фича Свифта как такового.
>>857155 >И применять Swift можно для чего угодно, в том числе игор, веб-бэкенда и т. д. (В смысле в теории можно, на практике нужных для этого либ/фреймворков либо пока нет, либо только появились, но в принципе есть, скажем, веб-фреймворк Kitura)
>>857162 Пилят swift package manager, хотя тащем-то есть cocoa pods и они мне нравятся больше. Потому что в swift package manager пакеты - это классы. Ну что за нахуй?
>>857814 >есть cocoa pods А зачем тогда понадобился новый пакетный менеджер?
Выбор железа под SwiftАноним17/10/16 Пнд 15:07:59#348№858296
Антош, подскажи - имеет ли смысл, чтобы вкатиться в Xcode, брать б/у mac mini 2015 4gb (либо есть вариант с 8) или macbook pro 2011 4gb? Что вообще скажешь по конфигурациям?
И еще момент - как могут наебать при покупке б/у с рук? Скажем, может ли быть тот же mac mini китайской (дважды китайской, я имею в виду) подделкой с говном на борту? Как отличить?
>>858296 Ищи mac mini 2012, они мощнее, чем 2015. По поводу хакинтоша, если железо подобрать, то проблем быть не должно. Кексеты поставить не проблема. У самого даже на AMD получилось поставить El Capitan, но все же покупаю i3, ибо железо устарело и ебли с интелами поменьше. Плюс есть плюшки для эмуляции Андроида Если на ноут ставить, то ищи модель ноута с hackintosh, может кто-то до тебя уже все опробовал. Оперативки и 8 гб хватить должно, на мой взгляд
>>858622 На форумах пишут, что мой ноут не поддерживается, либо с ним ебля возникает. Mac mini 2012 есть на амазоне - там можно брать? Не кинут? И где потом память к нему взять? Поди, в обычном-то магазине не купишь.
>>858707 Эх, где мой 2007... Анон, тогда что лучше: Mac mini Late 2012, Core i5 2.5 GHz, 4 GB, 500 Gb, HD Graphics 4000 с перспективой апгрейда оперативки или Свежий MGEN2RU/A Intel Core i5 2,6 Ghz, 8 Gb, 1 Tb, Intel Iris Graphics, но с ним уже ничего не сделаешь Вторая модель дороже на 5-9к
>>858754 Няша, если минимак новее 2014, то там нельзя заменить память - можно выбрать увеличенное значение только при заказе более дорогой комплектации.
http://snazzylabs.com/article/skylake-mac-mini-hackintosh/ Палю годноту. При желании можно значительно сэкономить, купив вместо i5 i3, 8 гб оперативки, на материнке, ссд и прочих вещах. Но если есть возможность купить мак мини 2012, то лучше его.
>>858829 >>858832 Пойду смотреть местные объявы. Аноны, вы сами-то на чем работаете? Есть какие-то нюансы в духе "при максимальной загрузке греется и уходит в ребут" и т.д.?
>>858895 > мак мини 2012 > Есть какие-то нюансы в духе "при максимальной загрузке греется и уходит в ребут" и т.д.? В ребут не уходит, но начинает шуметь так, словно готовится к взлету. Все же десктоп с нормальным охлаждением был бы лучше.
Сап, свифтач. Пишу небольшую прогу на свифте под айос, и появилась прикрутить сторонний апи. С alamofire, вроде бы, разобрался, только вот такая хуйня: почему-то ветвь кода, которая должна идти после проверки responce.result выполняется вообще после остального кода функции. Т.е. прога работает следующим образом: Все, что до Alamofire.request(...).responseJSON {...}, затем все, что после, и через несколько секунд ветка кода, которая лежит в этом responceJSON. Как добиться того, чтоб код работал последовательно?
>>859188 >imac mid 2011 с 12Гб оперативы под капотом? Обязательно замени диск на SSD (самый быстрый который сможешь достать). Иначе тебя никакие 12gb не спасут от постоянных подтормаживаний.
>>859801 Старый же. Нет некоторых технологий. Например могут понадобиться какие-нибудь SSSE3 для эмуляции. Плюс есть технологии для ускорения виртуализации в i моделях. Сомневаюсь, что они есть коре два дуо
>>859803 Сижу на капитане на HDD, не скажу что что-то тормозит. Если на винде при HDD, система не очень отзывчивая, то на OSX как-то пошустрее. Хз, может мое воображение.
>>859993 Имел опыт работы на mac mini 16GB (HHD) VS macbook 4GB (эпловский SSD)
Мини постоянно подвисал на открытие файлов/программ и на компиляции (когда данные еще не закэшированны). В любом случае, поставь хороший ssd - хуже не будет.
>>859939 ХЗ легко ли, но диск можно поменять даже в air (а там даже озу распаяна).
>>860199 Спрашиваю - анон, какой минимальный конфиг для комфортной работы в Xcode над несильно громоздкими проектами? Core2Duo - не тащит вообще? Что лучше - mac mini, imac или macbook pro/air?
В Си был оператор for for (var i = subviews.count - 2; i >= 0; i -= 1)
Но в Swift 3 его выпилили и вместо него изобрели богомерзкий stride:
for i in (subviews.count - 2).stride(through: 0, by: -1)
through - до какого значения должен дойти цикл, включительно. Если вместо него написать to, то будет не включительно. Интуитивно понятно, не так ли? (сарказм). Ну и до кучи, в случае со stride нужно больше печатать.
Я уже молчу, что ++ и -- посчитали небезопасными и выпилили. Наверно, потому, что некоторые дауны путаются с префиксными и постфиксными операторами. Теперь надо писать += 1 и -= 1. Очень наглядно, по сравнению с ++ и --
>>860421 > for i in (subviews.count - 2).stride(through: 0, by: -1) Судя по SO, в swift 3 теперь: > for i in stride(from: 5, to: -1, by: -1) > for i in stride(from: 5, through: 0, by: -1) И это норм, как по мне.
>>860445 > for i in stride(from: 5, to: -1, by: -1) А, ну да, я же пока в 2.3. Переезд проекта на 3 пока отложил. Но всё равно, лучше буду использоать ..., ..< и reverse если надо. to и through нихуя не наглядны и их легко случайно спутать
Имеется СвифтоМодуль/сдк, в котором нужно вызывать одну единственную функцию, принимающую сплошь стринги да инты. Возможно ли слепить это как приложение для не-иОси? Линь, Винь. Хотя бы гипотетически.
вопрос 2: если да, где найти человека на такую разовую работу?
Разработка в облаке или виртуалкеАноним20/10/16 Чтв 23:18:12#401№861054
Аноны, вижу, не я один собираюсь вкатиться в ios-разработку, но у меня более оригинальный вопрос, чем у предыдущих. Можно ли эффективно работать в xCode из-под виртуалки (VirtualBox, например), или вообще из облачного сервиса, такого как https://www.macincloud.com/ ????? Кто пробовал подобное, поделитесь впечатлениями
>>861041 Если эта функция не имеет каких-то особых зависимостей и с открытым кодом, то проще переписать на другой язык. Свифт пока только кое-как портировали на линь и то, очень сильно обрезанно
>>861054 > Можно ли эффективно работать в xCode из-под виртуалки Если уж виртуалить, то vmware - она побыстрее работает, чем другие. Но всё равно достаточно геморно. Бывает подвисает всё на пару секунд. Стоит рассматривать только, если совсем нельзя выделить денег на мак
>>861072 Спасибо, буду думать. А сколько оперативы надо, чтобы на виртуалке не тормозило? И можно ли с виртуалки потом публиковать приложения в appstore? Мак возьму при первой возможности, но пока так
>>861297 Должно быть да. Если только на него установится последняя мак ось и икскод
Покупка мака для xCodeАноним23/10/16 Вск 23:01:10#410№862660
Аноны, на днях пойду покупать iMac. Как сделать, чтобы не обманули? Я имею в виду из каких учеток должен выйти прежний владелец, есть ли какие-то мастер-пароли? Где все это проверить? Надо ли сбрасывать к заводским настройкам?
>>862660 Хорошо бы было переустановить систему, тогда точно мусора за прежнем владельцем не останется. Но для этого нужно надежное интернет-подключения
>>861054 Нет, будет дико все тормозить. У меня i5 камень, 8гб памяти, все лагает дико, сейчас хочу хакинтош поставить. Самая проблема в том, что не определяет под виртуалкой система видеокарту, максимально выдает 128мб памяти вне зависимости от карточки твоей.
Haskell неудачный вариант для новичка. Язык сложный, возможностей мало, работы тоже мало, а на каждую вакансию десяток макак. Сейчас каждый школьник учит Haskell, а потом не знает что делать с ним. Лучше попробуй Haskell. На нём и конкуренция пониже, и зарплаты больше, и сам язык понятней. Если никогда не занимался программированием, то начинать лучше всего с Haskell - после него другие языки учатся быстрее. Работы полно, платят отлично. По книгам. Если есть хоть немного знаний программирования, читай это:http://www.ozon.ru/context/detail/id/30425643/Если совсем новичок, пойдет эта книга:http://www.ozon.ru/context/detail/id/28346038/Ну и куча онлайн-учебников. Вот, например: https://anton-k.github.io/ru-haskell-book/book/home.html Хороший учебник, всё расписано подробно. Сам по нему учился. Рекомендую.
Подскажите что почитать чтобы понять суть дауну ньюфагу. Если var asteroid поместить под скобки override func didMoveToView то спрайт на экран выводится, но компилятор ругается что внутри touchesbegan он не знает что такое asteroid. Почему не видит? Что можно сделать чтобы видел? Еще могу переменную var asteroid поместить одновременно и под скобки class GameScene: SKScene { и под скобки override func didMoveToView причем с одним и тем же названием, и он НЕ ругается что имя занято. Почему?
Как кастом вьюху в кастом ячейку впихнуть? Размеры пидорасятся ячейки, по запросу load custom view to custom cell выдает только ебучие ксиб ячеек, а у меня есть ксиб ячейки и ксиб вьюхи в контейнер ячейки хочу свою вьюху впихнуть
>>786380 (OP) Посаны, я понимаю что тред не об этом. Но может кто навернет годную книженцею по Obj-C? Очень надо разобраться, в рот ебал этот вырвиглазный синтаксис.
>>786380 (OP) Поясните за мобильную разработку под iOS. Интересно ли по сравнению с веб? Какие перспективы в будущем? Что будет если все начнут писать на react native и т.п.? Лок на одну закрытую платформу не смущает?
>>873887 >Лок на одну закрытую платформу не смущает? Не все так плохо.
Уже сейчас есть https://flutter.io для кросплатформы UI под android/ios и Xamarin Forms А через пол годика пойдут первый билды с Kotlin Native - там тоже обещают поддержку iOS.
>>873887 Да тот же самый веб по большому счёту, особенно учитывая что сейчас вся логика в вебе — буквально сплошные веб-аппы кругом.
Лок на одну платформу и нативные средства разработки для UI приложений — необходимое зло. Хорошую каштомизацию не накрутить, а скорость выполнения оставляет желать лучшего — просто посмотри приложение того же гиттера. Простенькое приложение, с 2ф-мя экранами и чатиком — оно, блядь, лагает на 6S! Со слаком на жсе то же самое хотя в последнее время всё не так плохо. А пердолинга с такими средствами ничуть не меньше — посмотри например отзывы о ксамарине, который на всех платформах работает по-разному и поддержка сама не знает что происходит.
Можно ли получить локализованную цену для встроенных покупок без использования делегата?
А именно у меня динамическая таблица, изначально я хотел подгружать цену во время загрузки каждой ячейки, а оно сначала загружает все ячейки и только потом вызывает делегат. Я особо делегатами не пользуюсь, но че за хуйня? Почему делегаты не загружаются моментально, как если вызывать функции?
>>874352 Кроссплатформы плодятся как грибы. Сегодня одна, завтра другая. А натив всегда есть. Хотя на кроссе сейчас заказов наверно больше, чем на нативе. Надеюсь, они рано или поздно наедятся кроссплатформами и поймут, что это говно
>>876123 Это конечно ахуительные истории, но вот не выкинут ли завтра это fslutter в окошко ребятки из гугля - непонятно, как и со всем остальным. Так же тебе уже выше пояснили что кроссплатформа - это банально дефакто низкокачественные продукты, и это не исправить.
Котаны, как самому уже научиться пилить и проектировать? Я вот тупо не могу без стековерфлоу и гугления. Ну серьезно. получается кодкаша, я вот даже свой апиклиент не могу написать, тупо не понимаю как универсальный должен быть, у меня там каша из набора запросов и все в таком роде
Я что-то туплю, как сделать так: *var myArray = [Int]() func testFunc(){ var localArrayRef = myArray // Вот тут что надо сделать? localArrayRef.append(5) } testFunc() // теперь myArray[0] == 5 Как не делать копию глобального массива-то?
Бесит этот тред. На свифте в нормальном продакшне пишут 1.5 конторы-евангелиста, наполненных хипсторами, и еще полторы калеки пилят либы. Спеки нихуя не устаканились, а его именем уже называют тред ios-разработки. Молодец, Оп, ты сделал меня латентным ненавистником этого треда.
мимо ios-лид с овер 10 крупными проектами за спиной
>>882375 Кек. Свифт - просто синтаксис, API у objc и swift одинаковое. А вот то что свифт сырое говнецо - факт. Сама концепция что в бандле будут библиотеки свифта - ущербна. Для программ с двумя кнопками сойдет, но уже что-то сложное разбитое на несколько бандлов, xpc-сервисов, и фреймворков свифт уже не годится.
>>882501 Да не только в этом дело. У меня, например, часть проектов с кроссплатформенными ядрами на крестах и сях (для андройда и ios) - интегрировать это в свифт приходится через жопу, в то время как на обжективе ты просто посреди кода можешь начать ебашить на плюсах.
>>882501 > Сама концепция что в бандле будут библиотеки свифта - ущербна. Вообще то на оборот, взять тот же Android - там такая уебишная фрагментация и API и Java (6-8)
Сейчас не одна программа под Andorid не пишется без тонные support-library библиотек. В этих библиотеках и UI контролы и унифицированное Android API.
А что бы уменьшить размер результирующих бинарников они кучу кода вынесли в так называемое Google Play Services. По факту GPS это и есть их магази приложений, соответственно многие Android программы даже не запускаются на телефонах без Google Play.
>>883543 Да с удовольтвием, дайте тольк 1) Современный строготипизированный язык как вариант Dart и Kotlin 2) Поддержка многопоточности 3) Нормальную UI модель с виджетами, а не ебанутый DOM Ну и что бы это все не тормозило
>>883546 1) Различия между статической и строгой типизацией знаешь? 2) И нахуя она тебе в мобильных приложениях? Целых 2 ядра загрузить? Тебе там кроме асинков в лучшем случае ничего и не надо, а точнее вообще все это решается библиотеками. >Ну и что бы это все не тормозило ЖС-ы и прочий шит как раз из-за DOM и тормозят. >>883543 Ахуительная история. Особенно понравились рассуждения что большинство нативных приложений никем не используются - а стань он вебовыми, ими внезапно начнут пользоваться? Или аппрув в стор во всем виноват? Тенденция "один код работает везде" - булшит ещё из начала 2000-х, который до сих пор не позволяет делать качественный вещи.
>>883653 Довн даже не в курсе что это устоявшееся в русской терминологии выражение, потому что тоьько что прочитал страничку на вики, как мило) >>883646 Ну ты сейчас берёшь и приводишь пример где на каком нибудь суперйобасомсунге требуется больше, и в каких вообще задачах.
Что такое русская терминология? Может быть ты хотел сказать, что в русском переводе подобрано корявое определение, что не отображает сути? С этим я согласен. Впрочем, чтобы ты там не хотел, можешь не продолжать, лучше потеребонькаю libnotify для написания уведомлялки о новых сериях в отслеживаемых торрентах, чем буду спорить с очередным кловуном. Спасибо.
>>883672 У тебя хуёвый детектор. >>883677 Суть оно более чем отображает — если осилишь страничку на вики до середины — поймёшь. А дальше тупые маняврирования как обычно.
>>883757 Вот я тоже к этому склоняюсь, ибо на своей первой работе пишу именно на нём, хотя обучение начал с Obj-C и у меня сложилось впечатление, что свфит лучше, так как на нём проще написать проект более качественно (без исключений итд). Но так как я не особо опытен, мб, я просто не вижу каких-то подводных камней, которые могут кардинально поменять моё мнение об этом языке.
>>883801 Один дурак статическую типизацию со строгой путает инб4: кококо сильной, второй интероп с обратной совместимостью предоставляемой надмножеством. В сишке классы, что блять вообще несет... Что за поехавшие в этом треде...
>>883855 >Что бы ограничивать скоп методов и не размазывая логику по разным файлам. Это проблема только если у тебя 3 функции, иначе это только плюс к навигации по проекту. >Сейчас я так понимаю для их вызова надо еще добавлять их в "bridging heade" Который состоит ровно из одной строчки с импортом.
А что делать после "изучения" свифта? Пишу в скобках, потому как нубас в программировании вообще и свифт моя первая любовь, поэтому это скорее не изучение, а обзор. Что изучать дальше, чтобы пилить арр-ы для айфошек?
>>884677 самое лучшее, что я могу тебе предложить - это брать и делать приложения. Никакое обучение не даст тебе практического опыта и хорошего понимания платформы. Если пока ещё не можешь писать под iOS, тогда советую почитать книги от Big Nerd Ranch на английском, это даст тебе неплохую опору для старта. После них можешь смотреть в сторону iOS by tutorials от Ray Wenderlich (или как-то так), там уже собраны обзоры и примеры использования плюшек из разных версий iOS (этот шаг можно дропнуть, если есть мотивашка придумывать программы и писать их). После этого всего выходи в свободное плавание, читай форумы, экспериментируй и всё будет збс
Привет /pr Есть задача которой я себе мозг стер нахуй. Педалю iOS приложение в котором нужно сделать non-renewing подписку. Вся ахуенность в том что это приложение с Логином представляет из себя чат в котором я анлочу какие-то фичи на 30, 90 или 180 дней для конкретного юзера приложения. AppleID должен использоваться только для того что бы собственно сделать проплату. Итого, херня которая покоя не дает. Могу ли я делать проплату под разными юзерами в приложении использую один и тот же AppleID? И если да, то как они будут отображаться в AppleID и как быть с Restore Purchases? P.S. Да, сервер уже менеджить подписки и считать Expiration date.
Я так понимаю, тут по совместительству и общий ios-тред. Уже дважды после подключения и запуска программ из xcode'а на телефоне ломался GPS — показывает, будто я в Лондоне, в той точке, которая доступна симулятору в качесте Custom Location'а. При этом в симуляторе я её не выбирал, Location в None стояло, и вообще gps там не использовал. Лечится перезагрузкой, но перезагружать, потенциально, перед каждым выходом из дома это ебануться. У кого-нибудь встречалось такое? Как починит?
>>886039 >впиндюристь в Swift класс код на "C" Класс на swift'е, в него нужно вписать код на Си. Что тут непонятного-то? Суть не в его потоке сознания, а порядке слов.
>>883751 Он будет пиздец долго билдиться на больших проектах, а в текущей реализации инкрементальная компиляция работает через пизду - очень заебывает на один измененный символ ждать билда несколько минут. Недавно я оптимизировал СКОРОСТЬ КОМПИЛЯЦИИ, а не скорость исполнения, прикиньте до чего дошли. Но несмотря на это свифт все равно лучше, обж си уже не развивается, будущего у него нет, только легаси.
Покороче:
Swift - открытый мультипарадигменный объектно-ориентированный язык программирования общего назначения. Создан компанией Apple в первую очередь для разработчиков iOS и OS X.
В этом треде вы можете ответить свои вопросы анонам, а они в свою очередь с радостью вам ответят.
Показать код быстро - https://pastebin.com
Показать код с регистрацией и смс - https://gist.github.com
Objective-C или Swift? - дерьмо или язык богов (Swift)?
Как обучиться лучшему языку во вселенной?
1. Видеоуроки от нудного, гнусавого, гэкающего Скутаренко для полных дебилов - https://www.youtube.com/user/AlexSkutarenko/
Раскладывает все по полкам, потом с полок убирает и раскладывает по новой.
2. http://swiftbook.ru/ - годнота.
3. https://goo.gl/R9af4y - библия.
А что насчет книг?
Не нужны. Достаточно открыть библию двумя строками выше и окунуться в прекрасный мир Swift.
А английский нужен?
В отличии от тебя - да.
А еще Swift вроде как двигается в Android сторону, да и вообще код недавно был открыт Apple, что дает возможность в скором времени наблюдать Swift на сервере, мобилках, небе и даже аллахе.
Где кодировать код?
1. XCode.
2. AppCode.
Где задать свой тупой вопрос?
1. Здесь.
2. В тематических слак конфах.
3. https://telegram.me/pogromists
Исправления и дополнения для шапки писать сюда с пометкой ШАПКА. При перекоте внесем или не внесем.