>>551948 (OP) Анон, делаю тестовое задание изучая с нуля весь obj c, вроде как идет навык, нужна помощь. Не могу никак нагуглить одну фичу.
Вот я взял Text View - там ввожу какой нибудь тест, выделяю его - как называется эта менюшка с выделенным текстом ? Суть в том, чтобы было нечто пикрелейтеда, я не знаю как гуглить это. Пробовал: selected text behavior selected text action text view selected text behavior и прочее
Суть в том, чтобы при нажатии я хочу открывался новый view, а текст который я выделил - копировался в определенную переменную например.
>>552125 Это дурдом, нашел примерно решение на стеке, все ок - добавилось в менюшку, правда в конце, по клику делает что надо. Но епта, всякие кат, копи и т.д. остаются, а их убрать надо, гугл говорит что мол убрать их никак нельзя из едит меню и как вариант тупо перехватывать их и не показывать, ну не жопа ли?
>>552872 БЛЯДЬ, Я ЭТО СДЕЛАЛ, ОХУЕТЬ! Не думал что ответ найдется на хабре Там проблема с разрешением было. Если кто-то будет работает с api яндекса, то вот решение
>>553233 Суть в том, что есть два вью, в одном вью я хочу взять переменную и перекинуть ее во вторую, где с ней буду происходить все действия. SO мне подсказывает что это делать через глобальную переменную - но ебанулись? Можно ли как в других языках нормально записать это и затем геттер использовать в другом классе или типа того?
Допустим в первом окне записали NSString *huy =@"huylo"; Теперь huy хочу использовать во втором вью с сохранением что записано в хипе huy
>>553261 Я еще не изучал его, это последнее что мне по сути надо, задание уже готово если использовать 1 окно, но мне надо фишку на второе перенести. Вот допустим я возвращаю стрингу(пик) мне ее надо использовать во втором классе (экране) без потери данных. Т.к. парсинг и работу с апи осилил - это последне что мне надо доделать. Мне по сути надо в методе открыть второе окно и эту строчку передавать в один метод в другом классе и все, готово! Может подскажете как легче всего это сделать, пробовла импорт первого класса делать и инициализировать все это, но мне кидало говно в виде init const compile error и прочее.
>>553412 Разницы-то блядь. Существующие проекты поддерживают на обжс, новые проекты олдфаги делают на обжс т.к. привычнее, ньюфаги - т.к. раздолья для копипаста и стаковерфлованья больше. И да - свифт такой же уёбищно перегруженный со стороны синтаксиса язык как и обжс, по сравнению с ними даже плюсовые стл/бусты легкочитаемые библиотеки
>>553592 Попробовал чтобы скомпилилось - черный экран, видимо потому что нет линковки между двумя вьюхами, а ебучий SO говорит почему-то на каждый вопрос СОЗДАЙТЕ БАТТОН И ЧЕРЕЗ НЕГО СВЯЖИТЕ Но если мне блядский баттон не нужен, как быть??
>>553708 >>553710 Лолшто? На эти курсы можно записаться бесплатно, если на каждый отдельно а не как на специализацию. А нормальные видеокурсы по Swift и iOS с норм практическими занятиями постоянно на рутрекере воруют.
>>553708 >Палю годноту Спорный вопрос насчет годноты. Если совсем ноль в программировании, то это конечно неплохо вариант, но если есть опыт в других языках, думаю проще и быстрее учиться по тем же туториалам Рэя.
>>554159 Вот смотри, обрабатываю текст по селектору эдитменю(1 скрин), он по идее берет текст что я выбрал и записывает в переменную которую передаст во второй контролле и затем по идее нам должен открыться второй контроллер(2й сркин), где уже обрабатывается эта переменная В одном вью я научился это все делать и работает, а в двух я без понятия, пробовал в сториборде как-то привязывать, но сплошь хуйня.
>>554404 Вроде как разобрался как открыть - пик, но данные не передаются, null получаю. (text=(null)) в логах Еще вопрос, viewdidload как я понял метод 1 раз выполнит при загрузке? верно?
>>554418 > но данные не передаются Данные не передаются потому что ты контроллер не создал. Строкой SecondViewController svc; ты просто объявляешь переменную для хранения контроллера, тебе нужно его еще создать, что-то типа SecondViewController svc = [SecondViewController new]; смотря что у тебя там за класс контроллера. Ну и возможно стоит сохранить гдето, иначе как только ты его уберешь с экрана он удалится (со всеми данными, если есть) и тебе прийдется новый потом создавать.
>>554476 Дальше на новом экране уже свои отдельные кнопки перевода будут, которые будут вызывать метод и туда записывать данные. >SecondViewController svc = [SecondViewController new]; См скрин. Попробовал. Нифига, в логи null выдает. Ну хотя бы экран научился переключать. Странно, вроде и в проперти второго вьюконтроллера переменную верно записал и вызываю верно во втором контроллере чтобы посмотреть что выдает NULL все равно. > тебя там за класс контроллера. Наверно не понял, самый обычный, в сториборде второй поставил и туда формочки налепил
>>554490 Попробуй убрать строку с instantiateViewControllerWithIdentifier. Она или предыдущая точно лишняя (ты создаешь два контроллера, первый сразу удаляется), но лучше убрать ее, так как для того чтобы она нужный класс возвращала нужно в сториборде настроить правильно. А предыдущая (с new) все правильно делает.
>>554502 Убрать то убрал, но в логах такая же фигня >2015-10-06 19:39:06.493 translate_app[25973:978431] (null) Ну и понятно что после удаление понятное дело черный экран. Ибо мы ж теперь не показываем. Кстати, нашел гайд, правда там чувак баттоном передает переменную и у него оказывается 1 в 1 как уменя передача стринга, только какого-то хера у него все ок, у меня нет. >так как для того чтобы она нужный класс возвращала нужно в сториборде настроить правильно. А как, не подскажешь?
>>554536 В сториборде находишь свой второй контроллер и вписываешь туда нужный идентификатор (у тебя @"SecondSB"), там сбоку в окне должно быть поле для ввода. И не забуть там еще и класс правильный указать (у тебя SecondViewController). Там где Class - вписываешь SecondViewController, там где StoryboardID - SecondSB. Еще проверь что твоя строка selectedString существует, а не NULL.
Блядь, вот я уебище, забыл элементарное процедурное программирование(сверху вниз код выполняется), ясен хуй что будет null! ведь в начале открывеат вьюху а потом передаем ТЕКСТ! Блядь, пиздец я даун. В начале осздаем инстанс контроллера, затем передаем текст И ЛИШЬ ЗАТЕМ ОТКРЫВАЕШЬ ВЬЮХУ - ВСЕ РАБОТАЕТ, УРА БЛЯДЬ.
Вот только я проебал nav controller и теперь буду ебаться вручную поставить кнопку назад
>>554625 А я и не говорил что я несколько личностей. За эти пару дней мне obj c очень понравился, в начале плевался, а потом няша-няшей, приятная идешка, синтаксис внятнее стал, вообщем все охуенно. Жалко со стажировкой пролетел, но теперь буду дальше учить. очень понравилось, а ты не будь букой, добра тебе
Анон, опыта в программировании 0, но хочу начать этим заниматься (и уже начал вчера). Начать хочу с iOS, т.к весь инвентарь для этого есть (и ценовую политику я знаю). С чего начать? Надо ли выбирать стандартный путь аля C -> Obj-C -> Swift или начать сразу с ObjC/Swift? Опыта в программировании нет (кроме того, что начал вчера K&R с самого начала читать).
>>555317 Если опыта 0, то лучше с С начать, так как учебники по ObjC могут и не покрывать сишную часть, а это как минимум половина языка. K&R но можешь http://c.learncodethehardway.org/book/ учить, там главы до 30 сначала. Потом следующие 14 желательно. Дальше по желанию.
>>555348 А вот вопрос. Стоит ли записывать в тетрадь себе всё или это пустая трата времени? Просто пока мне не дадут задание - я хуй где использую только что полученные знания (а с записью в тетрадь, особенно когда я только начал, я по часу на 2 страницы трачу (ибо списать надо много, т.к узнал только что)).
>>555317 несоветую начинать с obj-c, тут высокий порог вхождения, тут тебя сразу пиздят MVC observers и singlton своими отростками, выучи джавку, они по своей идее очень похожи с обджективом, вот потом и перекатишься
>>557288 Ну буду дальше сидеть и смотреть. Все таки хорошо что джаву начал учить как-то и дропнул, многое легче понять теперь. Правда не понятно что со свифтом, надо знать или нет? Хочу к ноябрю хотя б устроиться.
>>556683 Тоже бесит эта хуйня. Не понимаю. Я не говорю про пхп, но например на какой-нибудь C# или C++ всегда есть вакансии стажеров/джуниоров, причем им даже бабло платят, а на iOS блядь надо жопу порвать, чтобы попасть на НЕОПЛАЧИВАЕМУЮ, сука, стажировку.
>>557532 Свифт совсем не обязательно, разве что вся контора будет уже его знать, но вероятность такого КРАЙНЕ МАЛА, хотя знание явно будет плюсом, ибо уже встречаются компоненты чисто на свифте. >>557585 В обджектив-си выше порог входа, поэтому джунов берут с неохотой
>>558153 >>558078 Короче сидеть и не выебываться и дальше учить и что-то пилить, вывесив резюме - стажер Ios? А то единственную профукал, не осилив задание(основное сделал, дополнительное нет).
>В обджектив-си выше порог входа, поэтому джунов берут с неохотой Вроде кажется все просто кроме указателей и дурацкой ооп там, в крестах и шарпе как-то в универе было понятно про класс и методы с импортом. А тут как-то сложнее те же данные передавать и наследовать.
>>558212 охуенных советов о том как тебе по фасту найти работу джуна я не дам, ибо сам незнаю и попал в свою контору случайно. обджектив-с это как будто тебе нужно написать ORM на джаваскрипте
Алсо, господа, я не понял. Книги в оп шапки устаревшие или нет? И обязательно читать >Objective-C Programming: The Big Nerd Ranch Guide перед >iOS Programming: The Big Nerd Ranch Guide Или необязательно? Если у меня есть маленький опыт джавы на уровне там лаб мелких.
>>558685 >Или необязательно? Если знаком с С синтаксисом то не обязательно. ObjC такой язык что статьи на википедии достаточно чтобы его выучить, в общем. Остаются нюансы по ним проходишь с помощью книги.
Еле нашел книгу Beginning with iOS8 Programming от AppCoda. Как же годно, но приходится гуглить иногда, потому что некоторые описанные там методы уже устарели.
>>560819 Сториборды в ксибах хранятся. Работа ничем не отличается, кроме того что в сторибордах можно порядок смены задавать, более широкие возможности.
>>562566 Просто серьезно не понимаю где тот порог знания obj-c, чтобы перейти ко второй книге, т.к. судя по гуглу первую полностью необязательно читать, а вот сколько именно читать - не сказано.
>>562636 да нет в программировании никакого порога конечного чем больше узнаешь - тем меньше знаешь просто пиши код и каждый раз ставь себе планку сложности повыше
>>562649 а хули ты думал? просто писать код разной степени хуёвости кто угодно может после прочтения пары книг, а стать программистом и грамотно проектировать софт можно только после долгих лет ебашилова, как грицо почувствуй разницу между этими двумя понятиями
>>551948 (OP) Почему все книги и туториалы в интернете на свифте, на реддите тоже говорят учи свифт. на хедхантере ни 1 вакансии по свифту, что за херня?
>>563321 на постсовке вакансии на свифт очень редкое явление, потому как новые проекты на новом языке мало кто рискнет начать и до кучи на обжективе дохера легаси кода, который кто-то должен поддерживать, поэтому обычно везде хотят обжектив-си кодера на западе ситуация несколько другая, там свифт активно берут в новые проекты и всячески пиарят всякие туториальщики, потому как уже 8 и 9я версии iOS его поддерживают так что если хочешь быстрее трудоустроиться тут - учи обжектив, если хочешь свои проекты делать - учи свифт, он проще и приятней
Платиновый вопрос итт. У меня есть маленький яблочный планшентик, но комп у меня с виндой. Вопрос: Можно ли начать заводить obj-c без наличия яблочного компа? Или ставить хакинтош?
>>564023 двачую, в пизду просто читать книги, надо что-то пилить, книга как справочник это неплохо, особенно какие-нибудь cookbookи, кордату например не выучишь читая книгу
We are searching of an experienced iOS Developer for remote work to join our team and help develop us beautiful product. Which can write quality, stable and clean code. Code that will be understandable to others.
The position required full time: 30-40 hours per week.
Benefits: - No managers or middlemen. You will work directly with founder. - Our founder is developer so tasks will be clear and understandable. You don’t need to waste time on stupid conversations to understand what you need to do. - You are feel free to provide and implement your ideas, everything that can make project better. - Project is stable and long-term with continuously improvements.
Project http://zazoapp.com Zazo - FaceMessaging App - There is nothing like it! Zazo is available for Android and iOS. You are encouraged to download and try it before applying for this job.
>>564381 да он ниасилил, забей, за такой короткий промежуток - такой объем инфы вылить в разжеванном виде - это просто охуенно. Stanford University iOS Programming Lectures - единственный легитимный выбор для вкота
>>564290 >Сравнивает Core Data и SQLite Первый - это нативный инструмент (даже не ORM) для работы с различными базами данных в том числе и асинхронным образом и в разных потоках. Второй - это просто популярная бд для хранения на устройстве или где не надо больших заморочек.
>>551948 (OP) Какие-то огромные пререкесты были у стенфордских курсах, мол отлично ооп должен знать и т.д. Но пофигу, стал смотреть - охуенно, вроде бы все пока понимаю. Сразу так все понятное расзжевывают и самое главное ВАЖНЫЕ вещи, правда слегка запутался с сеттерами и геттерами и синтесайзедами но пока 10 из 10
>>567967 Куда ты лезешь в ООП язык, если нихуя в нем не понимаешь? Геттеры и сеттеры для него запутанные, охуеть. Почитай что такое инкапсуляция, например.
Почитал тред насискось и охуел, один семенящий еблан и еще пара даунов.
>>568092 >Геттеры и сеттеры для него запутанные, охуеть. Они там выглядят как ебал его рука, а не как у нормальных людей типа крестов или джавы. И нотация ебанутая
>>569805 Это если озвучивают факт того, что компания которая ИДЁТ НА СПАД успешнее всей якобы "сверхдержавы" то это значит НАВАЛЬНОИД и ЛИБЕРАХА? Ну блядь, извини, 2+2 = 5, запомню.
Сап, только въехал в swift и xcode, не плюйтесь плиз.
Хочу в Tab View Controller'е сделать так, чтоб при запуске приложения открывался N-й таб, вместо нулевого. Нагуглил что нужный параметр лежит в UIKit>TabBarController.h , я так понимаю это стандартные библиотеки и редактировать мне их не надо. Вопрос - как вообще оверрайдить функции из этих библиотек (или не функции а @property и др.)? Код этот вроде нужно писать в AppDelegate.swift.
>>570469 В AppDelegade.m в applcationdidFinishLaunchingWithOptions: [(UITabBarController звезда)self.window.rootViewController setSelectedIndex:<#(NSUInteger)#>]
Чтобы оверрайдить, просто создай свой класс, который наследует от того, что хочешь, и описывай там все эти методы, как viewDidLoad в ViewController'ах сделан.
Чго ты там хочешь в хедере изменять я даже не представляю. Советую что-нибудь почитать.
>>570489 Если я правильно понимаю - файла AppDelegate.m у меня нет (я под Swift'ом)? Или этот файл находится где-то в UIKit'е?
Почитаю The Swift Programming Language (Swift 2.1) эппловский, спасибо.
Я хочу, чтоб при запуска приложения сразу открывался tab с лайками (4й слева, см. пик), вместо стандартного открывания home (1й слева). Скорее всего я тут пытаюсь велосипед придумать - напиши проще способ, если знаешь.
По поводу того, что ты написал о коде, у меня это так выглядит:
@UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate{
Файлы стандартных библиотек менять не надо, никогда. Ну, по крайней мере, если тебе вдруг не нужно что-то непонятное сотворить. Нужно добавить какое-то поведение к стандартному классу - сабклассишь и уже со своим классом работаешь.
>Мне нужно заново писать Зачем заново-то? Берёшь и вставляешь на строчку перед return true указанный мной код: func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool { rootViewController.setSelectedIndex(n) // ну или как там в свифте это вызвать, не знаю. return true }
>напиши проще способ, если знаешь. Куда проще-то, чем одна строчка кода, которая только и делает, что выбирает текущий активный таб.
Сколько будет стоит довольно-таки качественное приложение для iOS для организации учебного процесса на факультете, где будет расписание (есть АСУ с API, где все есть, вроде как) и еще несколько полезных фич. Во сколько можно уложиться? Хотелось бы, конечно, бюджетненько, но функицонально.
Привет всем. Опыта в программировании почти нет (переменные в джаве создать, пару функций простых и массив создать одномерный). Собственно хочу ворваться в iOS разработку, но не знаю с чего начать. Английский на плохом уровне, но я им занимаюсь сейчас по 20-40 минут в день (каждый день). Собственно хочется в перспективе заниматься и своими проектами, и работать удалённо. Весь Apple инвентарь есть. Собственно платина: obj-c или swift, есть ли книги на русском и что учить, если о байтах и битах мне известно лишь то, что в байте 8 битов?
>>571736 Если не собираешся работу искать то скорее всего можно и на свифте проскочить. Если нужна работа, то objC - это увеличит количество вакансий. Про байты особо париться не надо, найди книжку по objC где сначала про С рассказывают, того должно быть достаточно. Максимум что используется это битовые маски для опций.
Курсэера. Так и не понял зачем мы мутили приложение которое тупо отсылает сообщения в твиттор по готовому фреймворку, почему не объяснили снуля как подключаться к твиттору, как передавать там сообщения по нему и прочее, а юзаем social.network и всякие SLComposeViewController В смысле я понял зачем, я не понял почему не разжевывают или это связано с тем, чтобы мы не городили велосипеды?
Не понял, как нормально реализуется аналог андроидовского NavigationDrawer'a? В гугле везде уебищные решения с гитхаба, неужели у эпла нет встроенного решения?
>>573393 Хочу с тобой подискутировать. Как без бургер меню обходиться, если довольно много контента в приложении, разных категорий так сказать. Ну вот тот же Вконтакт, например. Таб Баром не откупишься, если там что то больше чем лента-ЛС-профиль. Можно взять пример с мессенджера ФБ. Где сообщения-друзья-??? (не помню)- остальная хуйня. Но для того же ВК клиента этого будет мало.
>>573393 > который выше на свифте не может одну строчку написать. Почему ты такой злой и агрессивный, тянки не дают, зарплату не платят? Во-первых, через obj c. Во-вторых, в книжках этого нет, там есть другие типы менюшек. В-третьих, это нихуя не одна строчка. В-четвертых, кто тебе сказал что всюду пихается, был задан вопрос о просто реализации. В-пятых, ты тупой и агрессивный мудак.
Привет анон, 6 месяцев назад меня нашёл дядя и купил мне мак бук топовый, теперь я его основной иос разраб на объективе, выше читал как много необумых спрашивают с чего начать, Стэнфорд был мой выбор, получаю 1400 евреев, первые 3 месяца получал 350. Есть вопросы задавай, жалко трэд дохлый, атак все 6 месяцев с вами.
Как правильно вести код? Вот допустим есть вьюконтроллер, где расположены 3 uitextview для каждого писать отдельный класс и все обрабатывать или все хуячить в вьюконтроллер имплементацию?
>>577015 Ну если у текствью нестандартное поведение то пишешь свой класс. Если у всех трех свое собственное поведение пишешь три класса. Если под имплементацией ты понимал обработку введенного текста, то текствью отсылает введенный текст в контроллер (через ивент). Контроллер передает текст модели, а модель должна понимать что с ним делать. Любая реализация в классе текствью должна быть связана только с внешним фидом и поведением самого вью, вся обработка введенной инфы в модели.
>>576613 она не резко апнулась, она стала нормальной. Время джуна, у которого руки не из жопы 1к+ и стоит. Рукожопам можно платить и по 600-700 %или увольнять нахуй месяца после второго%
>>577051 >Если у всех трех свое собственное поведение пишешь три класса Знаю звучит бредово, но интересно все таки как правильно реализовывать. Ну вот шаринг допустим, просто хочу разобраться про нюансы, которые не рассказывают.
Есть три текствью, каждый выглядит по своему(ну фон, форма, шрифты), есть 3 кнопки, по нажатию каждой шщарится текст из определенного окна. Т.е. такую вещь можно оставлять во вьюхе?
>>551948 (OP) Как с ебанами констрейнтами разобраться. Заебался уже от этого рукожопого говна, пиздец, не могли как в какой нибудь вижуал студии или идее сделать.
Я, сука, хочу чтобы все текствью были бы одинакого размера, распределил их - вьебал им всем до ближайшего соседа, а последняя вью все равно нахуй куда то уходит
Какой самый эффективный способ найти текст внутри большого (десятки мегабайт) файла? Нужно, при этом, получить целиком строку, в которой текст найден. Ограничение больше по времени, нежели памяти. Загружать в NSString, потом делить на строки и лупом проходиться по элементам очень долго. Возможно как-то построчно читать файл через буфер? Т.е., я могу прочитать какое-то количество байт, конвертнуть их в строку. Но как мне прочитать ровное количество строк? Читать по два байта, аппендя это к моей строке, пока не нарвусь на символ новой строки, а затем проверять полученное на наличие в ней искомого текста? Не будет ли это конкатенация по два байта слишком медленной?
И как вообще организуется поиск? Делить искомую строку по пробелам и регэкспами играться? Может ссылка у кого какая есть на, так сказать, общий обзор процесса поиска.
>>581208 Загружаешь в NSData и просматриваешь байтовый буфер. Так как тебе важна скорость, то сначала выделять строку а потом искать в ней регэкспом скорее всего не подойдет, так как два прохода. Получаешь из NSData указатель на начало буфера, запоминаешь начало, и просматриваешь по байту пока не найдешь конец строки. Паралельно проверяешь на нужный текст - если байт оказался не концом строки проверяешь есть ли он первым байтом нужной строки, если есть то следующий символ проверяешь на конец строки, а потом на второй байт и так дальше. Если есть вхождение то ставишь флаг что нашлось и ищешь конец строки. Это не эффективный поиск подстроки в строке, но так как тебе все равно нужно найти конец строки (для чего по очереди просмотреть байты) то все ок. Когда находишь конец строки, смотришь флаг, если было вхождение то зная начало строки и конец вытаскиваешь и конвертишь в NSString и отправляешь куда надо. Начало строки передвигаешь на новую позицию.
Перекатываюсь из закреплённого треда. Мини стори: Ребят, хочу заделаться в программисты. 18 лет, тупой как пень. Логика на нуле, математика на полу-нуле, из познаний программирования первые 40 страниц книги по Си от Аарона Хиллегасса. Готов ради этого ебашить как проклятый. Какие трудности встретил за 3 дня изучения: не могу найти годную лит-ру для самостоятельного изучения математики. Либо книги для 7-ми клашек, либо темы уровня 904719823749812734, до которых мне всю жизнь расти. Нашёл годный способ учить английский (английский я тоже благополучно проебал). пните меня в павельную сторону, а то у меня чувство будто я творю опять чушь. Из инвентаря: Macbook Pro 2012 года. В общем как правильно влиться в iOS? Obj-C или Swift? Ну и другие платиновые вопросы.
>>583132 >Получение данных из интернета Я делал похожее, получал json гуглением бесконечным, правда не понял конкретно как это работает, но выводил в лейбл просто.
Давай, че. Попробую сделать, интересно. Правда coredata не затрагивал, т.к. читал что этим мало кто пользуется сейчас.
>>583136 Я имел ввиду из готовых уже дам. Делал для само-практики. Они не эталонные - сразу скажу. Но лучше чем ничего, и точно прокатывают для похода на собеседования. Напиши фейкопочту - скину ссылку.
>>582476 Так мне надо с чего-то начать. Плюс я живу в такой стране, где без образования берут только на работу по типу официантов и т.п (узнавал лично, ходил и звонил в разные конторы по разработке сайтов и приложений).
Как из шаблона дизайнеров делают интерфейс? У верстальщиков понятное дело, из пдфки тупо хуярят там через скетчи и прочее, а тут как? Есть макеты интерфейса и прочее - сам вручную что ли элементы расставляешь и красишь?
>>584205 Настраиваешь на сториборде, что не настраивается там - задаешь в коде. Потом проверяешь попиксельно, накладывая, например, полупрозрачный скрин твоего приложения из эмулятора на дизайнерский шаблон.
Есть кто заливал на CocoaPods свои поделки? Поделитесь гайдом (официальный только для свифта, а мне бы обджектив-си, а еще более желательно - статическую библиотеку с бандлом ресурсов)
Захотел запилить рисовалку, не нашел ни одной нормальной библиотеки для текстурок(ручка, карандаш, маркер, перо). Нашел только такую репку: https://github.com/acerbetti/ACEDrawingView но тут только 1 текстура. Может кто знает нормальную либу или хотя бы что курить по этой теме.
>>551948 (OP) Какие все ж простенькие задания поделать, чтобы показать работодателю, что хочу быть стажером\джуном. А то все что сейчас есть это когда по нажатию кнопки выводит последние топ 10 фильмов imdb.
>>585913 Получение данных из интернета, маппинг, сохранение в CoreData, использование CoreLocation, CoreAnimation, CoreGraphics. Всё кроме CoreData можно наклепать за выходной день. С CoreData чтобы разобраться ещё два дня.
>>585957 В любом туториале про работе с сетью можно наблюдать ручной маппинг. Затем после пары раз можно использовать Маппинг-фреймворк. От рекомендаций по выбору воздержусь, сколько людей - столько и мнений.
Думал в конфе ньюфаги будут обучаться, а там какие то блядь с опытом сидят и пиздят о своих охуенных историях кто фрейворки пилит, в компаниях работают и прочее
>>586698 Клепать то можно. Но качество будет не то, просто потому что для познания тонкостей нужно время. Для одной платформы реально, на три уж точно не сможешь быть мастером, да и зачем? Работодателям это не нужно.
RRRRRRAAAAAGGGGGGEEEEEEEE вот нахуя нахуя делать включ6ение фреймворка в проект в 5!!! местах НАХУЯ???? почему нельзя добавить в одном месте ну что блядь за говно то ебанный эппл со своей анальной политикой, девелоперский центр так вообще что то невообразимое, чтобы сделать простейшую операцию, вроде выпуска версии, нужно полдня в истерике и с матами копаться в их наиуебищном интерфейсе сука ну нахуя это все я уже молчу что их портал сделан на устаревшем не взлетевшем дерьме мамонта WebObjects и это блядь самая дорогая корпорация, сука да пусть на фрилансе найму пару пхп макак, хуже чем есть точно не сделают ненавижу блядь
>>591145 да вот нихуя, они от этого становятся д6ерганными пидорами, которые на собеседованиях спрашивают про хуйню которая в работе не используется совершенно
>>591154 особенно охуенно когда нужна половина фреймворков из cocoa pods, половина из carthage а вообще тебе надо написать фреймворк самому, вот тогда прогрессивное человечество идет нахуй и ты ебешься вручную с пидорскими настройками проектов до нервного тика
и сука блядь где блядь нормальный гайд по ReactiveCocoa на Swift , все что есть написаны какими то косноязычными пидорасми
>>591583 и еще ты пишешь на swift 2.1 и периодически падает либо сам xcode либо сраный clang в сраный segmentation fault 10 трупов стива джобса из 10, боже 10 из 10
>>591772 язык сам по себе будет работать где угодно, но язык без яблочных библиотек не нужен. Яблочные библиотеки это мак ос, так что или мак или хакинтош
>>593133 > оп поста хуйня лит-ра Лучше нету. Вообще если есть какой-то опыт и знаешь С то достаточно статьи в википедии + гайд как сделать примитивное приложение (to-do лист например), потом начинаешь что-то свое писать почитывая документацию.
>>593137 Спасибо за ответ, анон. Я просто привык ебашить по книгам, поэтому и спросил. Еще два вопроса для дауна, все что ты написал я понял, но еще: 1)Мэтт Нойбург - Программирование для iOS 7? Хуйня не? 2)Стенфордские курсы норм? Понимаю, что начав ебашить хоть как-то, можно подниматься.
>>593140 Курсы норм. Мэтт Нойбург - незнаю, но там самый начальный уровень (начиная с основ С), если будешь смотреть курсы то такие книги не нужны. После курсов (или какой-то начальной книги типа Нойбурга или Objective-C Programming: The Big Nerd Ranch Guide) переходи на iOS Programming: The Big Nerd Ranch Guide.
Вангую что мой вопрос платина платин, но как правильно вкатиться в iOS разработку с 0 скиллов? С чего начинать, нужен ли обж-си сейчас, надо ли учить Си, насколько развит свифт и т.д? В общем молю о правильном пути становления из незнайки в iOS программиста уровня джуниор.
>>593413 Точно хороший путь? Я ведь не всю жизнь буду своим приложением. Я просто с него стартовать хочу попутно занеся его в портфолио и монетезируя рекламой (если всё сложится более-менее). На фрилансе со свифтом сейчас как? Я вообще полу пхпшник, но тут засвербило в жопе создать иОС приложение (хотя пхп я знаю на уровне синтаксиса, нет опыта создания веб приложений).
Чувствую себя червем пидором, дали задание сделать такое и такое приложение, а с я сразу как мудак полез в гугол искать на ютубах и стековерфлоу решения. Пизжу реализации и склеиваю в единое целое
Я мудак, да? Хуже червя пидора? Или это нормально если не знаю и сразу лезу?
>>595894 Смотреть что там дурачки понаписывали. То что код работает правильно еще не значит что он норм. Довольно часто можно встретить дублирование функционала фрейморка. Конкретно в случае objC можно встретить вещи которые были правильные 5 лет назад, а сейчас так никто не пишет, и т.д.
Подскажите а в Obj-C в частности и в ООП вообще, объект(object) и экземпляр класса(instance) это одно и тоже или есть разница, в гугле и на стаковерфлоу как то неоднозначно.
>>595919 Одно и тоже. "Объект" может использоватся когда разговор идет об экземлярах класса вобщем, а "инстанс" когда разговор о конкретном экземпляре в конкретной точке кода. Но разницы между ними нет.
>>593936 >очему в москве нет вакансий свифта Работаю на клятых мосвкичей, строчим иностранцам проект на swift все норм, брат цел, зависимость проявлется.
>>596502 Лол, попробую, но пока я открыл вк апи и охуел как там все сложно, какие то регистрации приложений. куча всего, ух блядь, пиздецу. Ок если я начну гуглить чужие работы и смотреть как там реализованО?
>>596520 Ну я разобрался как посылать сообщение в фб и твиттор используя встроенный фреймворк. а тут чет все сложно. А, еще научился логинится в интсграмм используя scheme и колбек, правда я не понял как это происходит и что такое колбек.
>>596975 >Runnable Ты не можешь создать массив для хранения ссылок на объекты типа Runnable? Ты не можешь написать функцию которая как аргумент принимает только объекты типа Runnable?
Сап. Полтора года владею макбуком, как купил, даже изучал обджектив-си и что-то в симуляторе айфона простенькое пилил — насколько сейчас актуально это всё вспоминать? У самого трёхлетний опыт разработки под андроид.
Сап, посоны. В шараге задали реферат, я взял тему внезапно iOS. Вроде более-менее накатал, но нужно правильно завершить. Я думаю надо написать про перспективы для разработчика и т.д. Напишите чего-нибудь, плз. А то не хочется слушать пиздежь ноунеймов с гугла. Рейт, кстати http://rghost.ru/7QRZRCjcB
Меня одного заебал этот тупоголовый кретин Денис? Почему вся конфа должна читать его высеры о том, как он там ебется с указателями? Причем это продолжается практически круглосуточно. Такой инфы дохуя в книгах и в интернете, и нет никакой необходимости постоянно ебать конфу по этому поводу. Там обсуждают вопросы по поводу ios-разработки, в основном те, которые тяжело нагуглить, и, лично мне, абсолютно поебать на то, как там этот даун изучает указатели. Предлагаю выкинуть его нахуй.
>>602501 Ладно бы он спросил что учить, ему ответили. Выучил, пришел за новым квестом, а когда дорастет, спрашивал бы уже адекватные вопросы иногда. Так бы поступил нормальный человек. А что происходит на деле, вы видите сами.
>>602829 Иди нахуй, даун. Твои тупые истории и не менее тупые шутки никому не интересны. Разве что особо успешным участникам конфы, которым либо не интересна ios, либо уже заебала и они "вытираны" этой технологии, вот им и нечего обсуждать.
Всем понятно, что Поттер начал волнения народные поднимать. Всем понятно, что от меня был лишь троллинг/попытки пошутить/примитивный юмор. Всем понятно, что без этого бы конфа была бы как последние 2-3 дня, когда все отдыхают или работают и затишье. Но вы чего-то горите сильно, будто бы я в ирл вживую сижу и в уши вам всякую чушь несу. Будьте проще что ли в этом плане в этой ситуации.
>>551948 (OP) Мне кажется я самостоятельно ничего не могу осилить, только делать по туториалам и из видео приложения, а как сам хотел попробовать чет сделать - сразу обосрался. Такие дела, прям тоска
>>604853 Я за свои ощущения пояснил - после айпиэса глаза не раздражены почему-то. хотя все равно работаю на макбуке, потому что закоммитить и пересесть за тормознутый ноут с виндой, к которому подключен внешний монитор, мне влом
Чуваки, а это нормально, что я в день пишу не более 50 строк кода, залипаю, рабочий день начинается в 12 часов, ухожу в 8, работаю 2 раза в неделю (ну по выхам еще закрываю косяки) и получаю 20к в месяц за это? Еще и кодревью делают. Меня даже совесть мучает и мысли о том, что эт мне просто повезло, а когда отсюда выгонят, то хер где я еще работу найду (посмотрел стандфордские курсы)
>>616101 А потом такие уверенные долбоебы как ты приходят на собеседования и не могут объяснить, что такое autorelease pool. >>616162 Мог бы и промолчать, вместо того, чтобы хуйню писать.
>>616298 На свифте? Зайди в твиттер, посмотри гитхаб. Увидишь, кто все эти люди, что пишут на свифте, заодно познакомишься с самим коммьюнити разработчиков. Все ваши любимые фреймворки постепенно прекращают или уже прекратили поддержку objc и продолжают развиваться в свифте (afnetworking, rac и тд). Да что уж там, сами Apple переписывают Foundation на свифт. После выхода в опен сорс и начала поддержки линуксов заинтересованных в свифте станет еще больше, в то время как ситуация с objc меняться не будет. Во многих компаниях, если там работают не слишком узколобые мудаки, новые проекты изначально начинают разрабатывать на свифте. Небольшая ремарка. На собеседованиях сейчас действительно в первую очередь интересуются знаниями objc и это нормально. Как я уже сказал, начинать изучать стоит сразу оба языка. Просто так закрывать глаза на один из них, а тем более на свифт, все же не стоит.
>>616224 >А потом такие уверенные долбоебы как ты приходят на собеседования и не могут объяснить, что такое autorelease pool. ПОдотрись, маня, авторелиз пулы это хуета, а не возможности языка, отставшего в развитии от других ООП лет на 20
Аноны, помогите ньюфагу советом - имеет ли смысл вкатываться во фриланс (апворк единственный вариант как я понял) для разработки под ios или это удел только работающих в конторах? На том же апворке фрилансеров в этой тематике в разы меньше чем в других.
>>619111 Апворк и toptal.com (здесь сложнее, нужен хоть какой-то опыт и разговорный английский). Вкатиться реально, но на апворке гораздо больше котируется гибридная параша, а не нативное по. React.native, ionic, phongegop, все это дерьмо.
>>619800 >на апворке гораздо больше котируется гибридная параша, а не нативное по. React.native, ionic, phongegop, все это дерьмо. Пруфы может будут?
Даже в фиде работ нейтива полно, а уж в приватные и вовсе приглашают нормальных фрилансеров.
>>619111 Апворк не единственный вариант, а самый лёгкий. Топтал - анальное рабство. Ещё возможно устраиваться remote напрямую. Зависит от твоих скиллов и разговорного английского.
По ссылке выше в конфе фриланса целый гайд про апворк если что.
>>620675 Нормальные iOSники на long-term на апворке получают $33-45/h, что почти соответствует з/п миддла в США и выше средней зарплаты программиста в богатых странах ЕС.
Чтобы выйти на безапворковую работу - тупо ищи remote jobs, делов-то.
>>620675 Это, извини меня, при 160-часовом месяце, 235 тысяч рублей по текущему курсу. В месяц. За формошлепство под телефоны в среднем темпе. Можешь ипотеку в пределах ТТК взять, можешь все страны объездить, можешь любые дорогие хобби получить вроде пилотирования вертолета. Все можешь. Еще выебывается он, сукина дочь.
>>620726 >тупо ищи remote jobs, делов-то. Вот я кстати нашел, в принципе наверно подхожу, но я в России, а компании в США. Таких, как я наверно не берут туда. Но думаю попробовать, уже лучше получить отказ, чем себя мучать потом осознанием собственной безынициативности
>>620794 Понятия не имею. Нужно уметь писать аппы довольно быстро, иметь какое-то портфолио подтверждающее навык, для более серьёзных работ - быть готовым к сложным собеседованиям.
Сделаешь ты это в офисе или дома, за месяц или за год - вопрос личный.
>>620739 На фрилансе 160 часов ты охуеешь по трекеру работать. Это не восьмичасовое пинание хуёв в офисе, а реально код. Рассчитывай на 120-140 часов в месяц.
Под телефоны далеко не формошлёпство бывает - это не десктоп, пользователь садящей батарее не порадуется. Но в целом конечно интерфейсы расставлять.
И советую не ориентрироваться на рубли иначе тебе будет казаться что 235 это типа дохуя уже. В США iOS получают $40-50 в час, а за разовые фрилансы (типа неделю баги фиксить) - $100-150/h. Т.к. непостоянная работа всегда в разы дороже. Надо в такое ориентироваться и трактор в нормальную страну, а не мечтать о 235к в мухосранях.
Я не платил 99 долларов Apple и хочу просто собирать и запускать приложения на своем айфоне. Xcode сгенерировал мне iOS Development Identity, но айфон каждую новую сборку верифицирует через интернет, и не дает запустить, если интернет отключен (An app from developer "blabla" is not verified on this iPhone and will not run until the app is verified using network connection).
Как избавиться от этой анальной верификации (не платя 99 баксов за участие в программе разработки, которая мне не нужна)?
>>621264 То есть после каждой сборки, если у меня отключен интернет, мне его нужно включать и на этом экране жать Verify App.
Но у меня еще вопрос. Что именно происходит, когда я тут жму Verify App? В смысле, как именно приложение "верифицируется"? Что он отправляет на сервер, мой сертификат или все приложение? Я что-то пока не смог найти документацию, которая описывает именно этот шаг.
>>621286 Я точно не знаю, но скорее всего отсылается инфа об твоем телефоне нужная для генерации подписи действующей только для твоего телефона. Смысл в том чтобы максимально усложнить установку программы на множество телефонов. Тоесть для установки твоей программы всего лишь на сотню телефонов уже прийдется серьезно заебаться. Выход - только джейлбрейк
У меня есть ипхоне 6, но нету яблоомпа. Можно ли как-то разрабатывать с линукса/винды/хакинтоша или лучше купить комп? Если и покупать, то что лучше? iMac Mini или iMac air?
>>623815 >Можно отключить Это ничего не дает, нужно еще писать кастомный seatbelt файл с разрешениями для /usr/bin/open и потом грузить все это через sandbox-exec.
Анон помоги мне понять как применить CGAffineTransform scale к объекту bezierPath, мне нужно изменить размеры у объекта по Y и X. Искал что-то подобное, но не могу осмыслить. В отдельном методе реализовать преобразование. Я отрисовал методом некую букву, мне теперь в отдельном методе надо поменять ей размеры с помощью аффинных преобразований.
>>626362 Нужно просто привыкнуть код читать, чтобы не ограничивать себя инфой только по свифту. Если знаешь С и в общем освоился то попробуй просто статью на вики прочесть, потом пробуй часть проекта на obj-c сделать, если зайдет то можно на этом останавливаться. Более важно знание стандартных фрейморков/библиотек - а они одинаковые. Если планируешь дальше исключительно на свифте работать то тебе просто нужно не обсираться от ужаса при виде obj-c кода, знать там нечего.
>>625832 Создаешь нужное афинное преобразование потом отсылаешь его к bezierPath в сообщении - (void)applyTransform:(CGAffineTransform)transform. В своем методе ты какой-то хуитой занимаешься. Тебе не нужно создавать миллиард разных промежуточных объектов. Желательно почитать и понять теорию аффинных преобразований, но в общем важно понять что есть "матрица аффинного преобразования" которая задает любое линейное перобразование объекта. Тебе не нужно делать то что ты там делаешь. Это все можно сделать одной матрицей. Сначала создаешь начальную матрицу вызываешь, для этого есть методы с Make в названии, что-то типа matrix = CGAffineTransformMakeTranslation(-center.x, -center.y) - ты создаешь матрицу для переноса начала координат в центр (переносить в центр нужно потому-что скейл происходит только относительно центра координат). Потом ты отправляешь эту матрицу в метод скейла, что-то типа matrix = CGAffineTransformScale(matrix, scale, scale) - в результате у тебя получается аффинная матрица которая одновременно и переносит и изменяет размер. Потом тебе нужно вернуть свою букву назад, ты отправляешь аффинную матрицу в метод транслейта, что-то типа matrix = CGAffineTransformTranslate(matrix, center.x, center.y) - в результате у тебя получается матрица которая переносит изображение, скейлит его, а потом переносит обратно. Если бы тебе нужно было постоянно сдвигать на одно и тоже растояние и скейлить на одну и туже пропорцию, ты мог бы сохранить эту матрицу и потом ее постоянно сразу использовать. Таким образом в одну матрицу можно слить сотни примитивных преобразований, получить одно сложное, а потом ты ее просто применяешь, что-то типа [bezierPath applyTransform:matrix] и все. У объектов которые поддерживают трансформации есть проперти transform - там пишешь foo.trasform = matrix.
>>625832 Учи матрицы, они простые. В кварце так: Xx, Xy, 0 Yx, Yy, 0 Tx, Ty, 1 [Xx, Xy] и [Yx, Yy] - базис (оси координат), [Tx, Ty] - смещение. Умножая изменяя длину X и Y ты задаешь масштаб вдоль соответствующей оси, поворачивая оси - задаешь ориентацию. Если оси не перпендикулярны, получается скошенная трансформация (skew).
Как я понял у нас есть кнопка. Вот newRowIndex почему присваиваем количество объектов? вот у нас есть 4 объекта уже в массиве, почему мы присваиваем 4 к нему, а не кол-во +1
Далее понятно,инициализация. Потом у нас есть массив item который я не указал выше _items=[[NSMutableArray alloc]initWithCapacity:20];
т.е. мы создали массив ОБЪЕКТА у которого два параметра текст и логическое состояние, правильно понял? затем в массив _items добавляю этот объект item?
А вот дальше уже непонятно что за индекпаф, что за массив
>>628446 Нажали кнопочку. newRowIndex = числу объектов
создали айтэм, вбили в него инфу, добавили его в общий массив (это датасорс для таблицы)
создали индекс для нового элемента (было 4 , стало 5, значит был элемент с индексом 3, а этот будет 4 (так как добавляли его как count)) засунули в массик добавили новый элемент в таблицу
>вот у нас есть 4 объекта уже в массиве, почему мы присваиваем 4 к нему, а не кол-во +1 потому что были индексы [0][1][2][3] и следующий жлемент имеет индекс равный количеству элементов, а когда [_items addObject:item]; все станет верно -- 5 жлементов, последний с индексом 4, его то и добавят в таблицу NSIndexPath index = [NSIndexPath indexPathForRow:newRowIndex inSection:0]; ... [self.tableView insertRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationAutomatic];
>>628446 > почему мы присваиваем 4 к нему Индексы начинаются с нуля. Если в массиве 4 элемента то последний элемент имеет индекс 3, а новый будет под индексом 4. >ассив ОБЪЕКТА Непонятно что ты имеешь ввиду. Создается объект класса ChecklistItem, и он кладется в массив _items, где и хранится. Если его никуда не приткнуть то после завершения функции он в любой момент будет уничтожен. NSIndexPath - это специальный объект который представляет индекс. Тоесть вместо того чтобы указать что в таблицу нужно добавить 4 строку ты создаешь объект который соответсвует четвертой строке и передаешь этот объект. insertRowsAtIndexPaths принимает не просто номер индекса в виде числа, а номер индекса в виде объекта NSIndexPath. При этом сделана возможность одним вызовом добавить кучу строк, поэтому метод принимает не один индекс, а сразу массив индексов. Этот массив и передается, в данном случае так как добавляется одна строка в массиве только 1 элемент. Предпоследнюю строку можно пидорнуть и последнюю записать как [self.tableView insertRowsAtIndexPaths:@[index] withRowAnimation:UITableViewRowAnimationAutomatic];
>>629764 Есть UITableView. Табличка иными словами. У нее есть проперти delegate, реализующий протокол UITableViewDelegate. В самом протоколе, например есть функция -(void)onCellClicked:(int)index; Условно этот метод вызывается, когда юзер кликнул по ячейке в этой таблице. Сама таблица не знает, что надо делать, когда пользователь нажал на ячейку, она лишь может отследить нажатие: И вот ты в контроллере или где то еще создаешь таблицу и делаешь типа tableView.delegate = self; То есть ты говоришь, что ты в контроллере реализуешь сам методы делегата (а таблица их вызовет когда надо). И когда юзер нажмет на ячейку, таблица перехватит вызов, и сделает примерно следующее if (self.delegate && [self.delegate conformsToProtocol:@protocol(UITableViewDelegate)]) { //проверяет, есть ли делегат и реализует ли он протокол + надо еще проверить релизует ли он текущий метод [self.delegate onCellClicked:index]; }
В итоге у тебя в контроллере вызовется функция -(void)onCellClicked:(int)index { [self playWithDilduck]; }
В итоге таблица делает только то что должна -- отслеживает клики, а саму логику после нажатия должен будет реализовать уже контроллер. Надеюсь понятно объяснил.
>>629994 Бля, чет сложно, посмотрел скутаренко сегодня, он вообще нахуй огромную конструкция пишет, неужели ирл тоже так делегаты и куча к нему воды надо прописывать? https://www.youtube.com/watch?v=6BUvL_cZJXE
>>629994 т.е. по сути делегат это самостоятельное выполнение методов каих либо, а не дефолтных у родительского класса? а чем это от оverloading'a тогда?
>>630020 Для перегрузки тебе нужно отнаследоваться. Тоесть твой контроллер нужно отнаследовать от таблицы, а это тупо. А так ты просто назначаешь делегата и все.
>>630050 Делегат объявляется только в таблице. Она же вызывает у него метод.
Сам делегат (в данном случае контроллер) Только реализует протокол. Ну и в моем примере еще и назначает себя делегатом в таблице, что в общем случае необязательно.
>>630167 Ну теперь прямо в лицо надо сказать, что ты тупой и тебе нельзя в программирование? Ну ок: ты тупой и тебе нельзя в программирование. Так лучше, раз ты намеков не усваиваешь?
>>630247 Что тут не так, мразина тупоголовая, блядь. Почему для тех классов я должен прописывать делегаты через <TVOYAMAT'TUPAYASHLYUHA> А когда работаю с тейблвью я нихуя не должен где-то ковыряться и прописывать делегаты и оно само дается. Тоже самое при работе с текстфилдом. Хуесос тупорылый блядь. выбесил. сам пади какой нибудь джун обоссаный за 300 долларов работает и выебывается
>>630370 > я нихуя не должен где-то ковыряться Потому что тейблвью добрый дяденька за тебя написал и там все само делается. А если ты пишешь свой класс то тебе и пердолиться самому нужно.
>>630374 Вот это и бесит? Смысл? Если надо все равно импортировать все и переписывать, ну да, один класс не знает толком об объектах другого класса пока тот не кукарекнет, но все равно блядь выбешивает этот паттерн, надеюсь ирл не так часто применяется.
Анонасики, вы тут вроде живы еще. Задался я тут целью написать ссш-клиент уровня /pr/ для своего впс. Не потому, что нужен а практики ради. Но вот в чем загвоздка - если под бездуховную java куча ssh библиотек (openssh, openssl к ней), то для либ для cocoa я не вижу в упор. Точнее, есть на гитхабе какие-то ебанутые openssh for ios, но это нечто очень страшное и очевидно, без всякой разработки. Но я никогда не поверю, что нет официальных портов. Так что платина вопрос: где они есть?
>>630408 Он часто используется. Но ебанутая штука согласен.
Алсо, ребятки, вот читаю вторую книгу ios apprentice и че-то голова кругом ходит при создании на тудулиста, я на 97 странице, но чем дальше, тем меньше понимаю что происходит, что делать?
Я вот сейчас думаю забить хуй на книжку и попробовать свое приложение делать с костылями, гугление, ютубом, стековерфлоу, буду даже код пиздить - но свое приложение, что думаете об этом?
>>630451 Написать приложение - идея неплохая, но чревата своими косяками. Образно говоря, приложение (функционал) ты может и напишешь, но по дороге получишь кучу утечек, костылей, и ебанутых методов реализации. Впрочем, как я уже сказал - путь не плох.
>мне не под ios а для os x На RoboVM можно писать консольные программы для OS X. А вообще под OS X можно на любом языке писать, хоть на Haskell или C#.
>>630477 Свифт НИ-НУ-ЖЕН. Я программист, я так вижу. Я если серьезно, то он мне просто не очень нравится. Сделали конструктор уровня визуалБэсик блять. Вот когда все системы и приложения эппл перепишет на свфит, тогда еще посмотрим. > Ты можешь писать на Kotlin Ой, выучу-ка я java. Ой, 6 лет проработал, не нравится, не хочу в бэкэнд. Ой, пойду ка я в ObjC, там все качественно и проработано для приложенек. Ой, не хочу, хочу котлин. Это из меня не погромист получается а мамкин хакир - 100 языков и везде профессионал. > А вообще под OS X можно на любом языке писать, хоть на Haskell или C#. Не привлекает ни то ни это. Мелкософт не люблю принципиально, а хаскел слишком мутный какой - то. Ты, лучше чем убеждать, что С нинужин, скажи, что это за ужас с либами.
iOS разработчики, расскажите мне, как вы миритесь с XCode? Зависимость iOS разработки от XCode даже выше, чем windows-разработки от Visual Studio. Постоянно какая-то непонятная хуйня, которая решается по типу "почистите проект и перезапустите XCode".
>>630488 >Свифт НИ-НУ-ЖЕН Почему нынешняя молодлеж такие ретрограды?... Им предлагают современный ЯП (который спер все концепции из groovy, scala и тд), нет они хотят язык 1983
>Мелкософт не люблю принципиально, а хаскел слишком мутный какой Это была шутка, я имел ввиду что для декстопа ты можешь юзать любой ЯП
>Это из меня не погромист получается а мамкин хакир Swift или Kotlin (они кстати очень сильно похожи) учатся за пару дней, все системное API (Cocoa, CocoaTouch) все равно остается одно и тоже.
>>630494 Переходим на RoboVM Studio и разрабатываем на Kotlin
>>630462 Ну просто меня доебало как там все делают, сначала делаем так, а потом опа а делаем так. Например мне не ясно нахуя ДВА навигейшн контроллера надо было делать, вместо одного. и прочее, я чето вообще перестал соображать
>>630502 Мне твоя агитация почему - то напоминает Киселева, вот серьезно. Ты говоришь так, как будто RoboVM это панацея от всех проблем, в том числе от отсутствия мозгов. Понимаешь, в чем проблема свифта (лично для меня), так это отсутствие вменяемых обучающих курсов в интернете. С и его производные тем и хороши, что заезжены до дыр и помощь можно найти где угодно, в случае чего. Впрочем, свифт можно комбинировать с ObjC, так что не все потеряно. Почитал про котлин, и пришел в ужас честно говоря. > работающий поверх JVM... ...компилируется также в JavaScript... Это кто ж создал такого мутанта? Мало того, что java сама работает на виртуальной машине (и показывает соответствующие результаты) так еще и какой-то умник перенял эту светлую традицию. Я могу понять, когда это делает сам Oracle, они этим владеют и им хорошо, но вот другим людям создавать такого франкенштейна...
>>630512 >так это отсутствие вменяемых обучающих курсов в интернете Ты чо обьебался, сейчас для обж си труднее найти крусы и инфу, нежели под свифт, я вот ньюфаг мучаюсь, начинаю гуглить тему и сразу ЕБУЧИЙ свифт выдает, а под обж хуй найдешь.
>>630516 Ну вот вчера начал, но у меня у сестры дядин друг знаком с матерью зятя отца одного реально крутого программиста, он щас в Калифорнии в эппл работает, так я сам слышал как он говорил, что свифт язык плохой, там все из коробки! Так что я очень даже не плохой программист, ну начинающий, ну это же не повод обзывать! :(( >>630517 Зайка, ну я читал эти книги, да. Обе. В них рассказывается про методы, подходы к написанию. В них нет объяснений смысла. Это как если бы учитель на занятии математики объяснял не функции в общем виде, а приводил каждую и говорил - вот это функция, она такая-то. >>630519 Ну хз, я нашел 10/10 видеокурс по objC и мне норм. http://www.youtube.com/playlist?list=PL6724Ll8v6UhKUFEsQ9ol_gOI-ohCxgJp
>>630509 Ну конечно выучить два ЯП для анона это непосильная задача (на одном работать на дяду, на втором для души) Еще раз системное API почти одно и тоже.
>>630512 >отсутствие вменяемых обучающих курсов в интернете Просто эпик-фейспалм, аноны разучилась читать книги? Вам нужно что бы вам все разжевывали как "особенным детям". Мне вот как-то одной книги на английском хватило.
>>630528 >Просто эпик-фейспалм, аноны разучилась читать книги? Так он прочитал! >>630520 >Зайка, ну я читал эти книги, да. Обе. В них рассказывается про методы, подходы к написанию. В них нет объяснений смысла. Он смысла не видит в них, смысл ему не объяснили, блядь!
>>630527 Как бы тебе объяснить... Если бы я знал имплементацию некоего объекта (пускай массива) в objC я бы без труда понял это в свифте. Но когда ты впринципе не знаешь, что это такое и с чем едят, начинаются проблемы где книги не помогают. >>630532 > Значение знаешь? В пик и дрочил, да.
>>630539 Покажи на примере, какая тебе нужна имплементация? Или ты имеешь в виду, что тебе там не рассказали как объекты в массиве в памяти выстроены и где его внутренняя инфа хранится? Тебя это волнует?
>>630537 Ты можешь юзать все системные фрейморки и другие XCode проекты на ObjC и Swift.
У меня есть кросплатформенный (android/ios) проект на Kotlin. В нем кусок кода, который отрисовывает ГИГАНСИКИЕ картинки (через Tile) сделан в отдельном XCode проекте.
>>630543 Сук, нихуя ты не понял. Вот тебе мой личный пример. Я знаю в objC что такое многопоточность, мне его кто - то гипотетически объяснил. Я сейчас бросаю С и иду учить свифт. Открываю книгу: о, массивы. Знаю что это. Какой тут у них синтаксис? Ясно. Иду дальше. Ой, блоки какие-то. А что это? А нахуй они? А все потому, что я их не проходил ранее. Я не знаю что такое блоки. Вот что я имел ввиду под смыслом.
>>630550 Пиздец, ну так бы и сказал, что ты в целом не программист, раз таких вещей не знаешь. Да, согласен, эти учебники расчитаны на более-менее подготовленного человека. Мои извинения.
>>630556 А их и нет, между прочим. Как нет и многопоточности, почему-то. Странная книга вообще говоря. >>630555 Программист, программист начинающий, и программист со стажем - несколько разные понятия. Каждый из них прогроммист, и в теории каждый может написать приложение с небходимым функционалом. Только новичек напишет говнокод без стиля, обычный программист напишет просто читаемый код (в лучшем случае) и будет использовать некоторые хитрости, а человек со стажем напишет хитровыебанный код через делегаты, те же блоки и что-нибудь еще (тут уже не хватает знания и фантазии, дополните сами)
>>630557 >>630562 Мне кстати сложно представить как можно писать программы на НЕ строго-типизированно языке. Ни тебе нормального рефакторинга, ни не придумал :)
>>630568 С рефакторингом беда, согласен. Но тут главная фишка не в JS, а в самом React. Если напишут что-то подобное на другом языке, то я с удовольствием перекачусь. если работу соотвествующую найду
>>630573 Спасибо, я как пример их привел. Хотя честно говоря, смысла в них пока не вижу. В моем видении эта та же самая функция. Блок содержит код, он вызывается. Все. Различий - 0.
>>630589 > универсальную функцию сортировки Передать объекты для сортировки в функцию - создать из них массив - сортировать - вывести из массива. Видимо я чего-то не понимаю.
>>630597 Универсальную, чтобы я, как пользователь мог твою функцию использовать как для чисел, так для строк, так и для любого производного типа и класса. Естественно, правило сортировки задаст сам пользователь.
>>630601 > правило сортировки задаст сам пользователь Вот это я точно не представляю как сделать. Разве что задать несколько готовых критерий и для каждой создать функцию сортировки. Таким образом пользователь сможет выбирать. Наверное.
>>630611 ВОт для этого и нужны блоки. ПОльзователь передаст коллекцию и блок, который будет устанавливать правило сортировки. А как именно пойдет обход по коллекции его будет мало волновать
>>630613 > Коллекцию Массив? А блок "который будет устанавливать правило сортировки" он откуда возьмет? Или это все же предустановка? Если да, то я кажется начинаю понимать.
>>630617 что то вроде sort(myArray, { $0.value > $1.value }) в данном контексте myArray -- коллекция { $0.value > $1.value } - блок с правилом сортировки
>>630621 Да, я так и думал. Значит понял все же верно. Но как то уж очень специфическое использование, на мой взгляд. К тому же - вот передали мы некий блок с установками сортировки. А применять их как? Просто вставляем этот блок в функцию? И в зависимости от блока сортировка идет разными путями?
>>630630 >Но как то уж очень специфическое использование, на мой взгляд Встречается повсеместно, так что лучше быть готовым к встрече с этим зверем. > А применять их как? Просто вставляем этот блок в функцию? И в зависимости от блока сортировка идет разными путями? Часто зависит от коллекции: функция по идее может сама выбрать наиболее эффективный способ сортировки. Ну и применять такую функцию согласись лучше, чем каждый раз писать ебическую поебень с двумя for'ами и прочими счетчиками в цикле?
Всем привет, я начинающий программист, в качестве тренировки решил создать бесполезное видеоприложение. Есть вопросы сохранения/хранения/доступа к видео, был бы очень рад, если бы кто-нибудь по этому поводу меня проконсультировал. Пишу на swift, но obj-c более-менее знаю, так что хранилище могу написать и на нем. Skype: roba_rus
Литература:
Objective-C Programming: The Big Nerd Ranch Guide
iOS Programming: The Big Nerd Ranch Guide
iOS 7 Programming Cookbook: Vandad Nahavandipoor
Matt Galloway Effective Objective-C 2.0
http://swiftbook.ru/doc
Видеокурсы:
https://www.coursera.org/specializations/app-development
https://www.coursera.org/specializations/ios-development