Swift - Swift - это новый язык программирования для разработки приложений на iOS, OS X и watchOS, который сочетает в себе все лучшее от C и Objective-C, при этом нет ограничений в совместимости с C. Swift использует паттерны безопасного программирования и содержит современные функции, которые помогают сделать программирование легким, гибким и увлекательным.
Платина: Что выбрать? - свой проект - swift, работа - objective-c.
Можно как-нибудь в storyboard'е сделать "прототип" вьюшки? Чтобы я там напихал элементов, правильно их расположил и т.д., но оно изначально нигде не рисовалось. А потом в коде уже, это вью создавалось и заполнялось нужными данными.
>>722431 То, что я просто хочу наплодить одинаковых элеменов в TabView по нажатию на кнопку, скажем. И количество их неизвестно и варьируется, включая и данные.
>>722418 Можно, но лучше в таком случае пользоваться XIB'ами и вытягивать вьюхи таким образом: MyCustomView view = [[NSBundle mainBundle] loadNibNamed:@"MyCustomView" owner:self options:nil][0];
Тебе в любом случае придётся привязать определенный класс к своей вьюхе, чтобы работали IBOutlet'ы, т.е. абсолютно абстрактной быть не может :)
>>722484 Что-то я дурачок. Этот метод возвращает булеан (коока, на мак). И что дальше-то делать, как его использовать, как вью инициировать? principalClassу у бандла него NSApplication, а не мой каштомный. ПРобовал добавлять в инит метода у вьюхи, но всё равно ничего не происходит. И на маке есть только loadNibNamed:.. owner:.. topLevelObjects:..] (либо классовый почти как у тебя, о бзе опшнс, и всё равно булеан возвращет).
>>722745 В интернете везде оно либо массив возвращает, либо просто [NSBUndle loadNibNamed:...] в инит вставляют, делая овнера селф, и ничего никуда не присваивая. Ничего не понимаю, что почитать?
>>722759 Имеет ввиду в установленном виде на устройстве, а при распространение будет всего на +3. Загляни в свой production IPA да посмотри.
Сейчас для тестов собрал и экспортировал с production provision 1) чистый ObjectC 2) тот же проект с добавление swift класса разница в размере IPA около 3 MB
>>722783 1 - апа из .xcarchive/products 2 - экспортированные ipa Не так много конечно, но в моем случае даже такая разница - очень критична. Сначала ты оптимизируешь каждую png, дабы уменьшить бандл на пару метров, а тут хуяк и ±6 мб сверху. В моем случае вообще процентов на 30 ебануло. В более или менее серьёзном продакшне техдир за такую вольность сразу обоссыт.
>>722824 > В более или менее серьёзном продакшне техдир за такую вольность сразу обоссыт Давай ты не будешь говорить за всех. Twitter и LinkedIn это не мешает выпускать приложения на Swift.
Кстати отдельный вопрос, насколько сам код на Swift генерирует больше процессорных инструкций (ведь он более высокоуровневый). Возможно это объясняет разницу в целых 6MB.
>>722854 >Давай ты не будешь говорить за всех. Да я за всех и не говорю. Я говорю про среднестатистическую коммерческую разработку. Что такое переход на свифт для компании: 1) адаптационный период с упавшей производительностью программиста 2) разросшийся бинарь (в моём случае это аж 30% - это пиздец) 3) потеря возможности прямого использования c/c++ 4) сырые спеки и отсутствие поддержки старых версий
Совокупность рисков - нехуёвая такая. Любой опытный техдир взвесит все за и против и мягко откажет программерам в перекате.
>Twitter и LinkedIn это не мешает выпускать приложения на Swift. Пруфцы есть? Я погуглил по запросам "twitter swift ios" и не нашел ничего подобного.
>ведь он более высокоуровневый С чего ты это взял? Свифт рантайм как раз более низкоуровневый и показывает производительность на уровне plain C, в отличии от objC.
>>722907 Каких зависимостей? нас тут двоеМы же про вес говорим. Сейчас эти 6 метров - включенный в ipa рантайм. Будет этот рантайм лежать в бандле самой ios и не лишнего веса не требовать. И почему должен какой-то кошмар начаться? Почему в нынешней ситуации он не начинается? Лишь бы чтото, простите, спиздануть чтоли?
>>722874 > Пруфцы есть? А сам скачать через itunes на мак и распаковать их ты конечно не можешь?... Вот смотри.
> Свифт рантайм как раз более низкоуровневый Я про твой написанный код, а не рантайм. Это объясняло бы почему размер проекта скачает при фикс. размер рантайма
> Это объясняется рантаймом, и всё А вот нифиги, если удалить все libswift*.dylib из twitter/linkedin и запаковать обратно, то размер IPA уменьшится только на 3 MB. Если запаковать БЕЗ удаления, то получается тот же размер что у оригинального IPA ±1%, так что дело не в настройках ZIP.
>Я про твой написанный код Да там кода было строк на 20 - и на тебе, такое-то увеличение бинаря.
>А вот нифиги, если удалить все libswift*.dylib Ну так это всё статик либы, подключаемые по надобности, сам рантайм, я думаю, прямиков в бинарь хуячится.
>>725770 for (i=1; i==7; i++) означает, что изначально i = 1, после каждой итерации i увеличивается на 1, и луп будет действовать до тех пор, пока выражение i == 7 выдаёт true. Подумай, когда оно у тебя выдаёт true?
>>726735 Общая идея такая, но от контроллера к контролеру принято передавать только их собственные специфические контроллерные данные, если такая необходимость есть. Бизнес данные принято передавать в составе модели. У каждого контроллера проперти model, корневой контроллер берет модель из своего проперти и сует ее в проперти дочернего контроллера после чего презентует его. А уже сам дочерний контроллер, когда он появляется на экране (например во viewWillAppear, если это какие-то "глобальные" данные которые только раз нужно обработать то во viewDidLoad) тащит данные из модели и делает что нужно. Но в простых случаях можно считать что твой NSString это и есть модель, и в общем твой подход норм, просто названо по другому - если делать через модель то все по сути сведется к тому же.
>>726867 > Бизнес данные принято передавать в составе модели. У каждого контроллера проперти model, корневой контроллер берет модель из своего проперти и сует ее в проперти дочернего контроллера после чего презентует его. Я чет запутался, у модели есть делегат пасс моделл или что?
Подскажите. Ситуация такая - при нажатии на кнопку производятся вычисления и происходит переход на новый vievcontroller, где эти самые вычисления должны использоваться. Но, судя по всему, сначала происходит переход и только потом вычисления, как задержать переход до конца вычислений?
>>726735 Передавай модель данных. Например first vc формирует содержит список фильм, которые он грузит и распаршивает в локальные модель Movie, по нажатию на фильм в списке происходит вызов нового vc и передача в него экземпляра этой модели Movie, а там уже рисуется.
>>727360 Но я не пойму, я вот сделал пресент модалли например перетаскиванием с одного контроллера на другой по кнопке. На этой же кнопке дейтвие при нажатии делаются вычисления и заносятся в массив. И этот массив используется в следующем контроллере. Но проблема в том, чтоон берется ниловский, то есть мне сначала грузит второй контролер с пустым масивом, потом в этот масив заносятся данные из первого. Это видно, если сделать цикл - то есть я вижу результаты предыдущего заноса. Мне хотелось бы исправить это без костылей, не пойму как. >>727287 Проблема в том, что я ньюфаг. Да, я уже понял, что могу промежуточный контролер сделать - тогда всё ок. Но в любом случае на будущее хотелось бы знать, как можно сделать проще - без лишних контролеров, кнопок и т.д.
>>727374 > промежуточный контролер сделать Промежуточный контроллер не нужен. Когда жмут по кнопке, контроллер показывает пустое (например, можно сделать полупрозрачным) вью с NSProgressIndicator (например) и запускает асинхронные расчеты. По нормальному твой массив должен быть моделью за которой наблюдает контроллер. Тоесть контроллер отсылает модели сообщение "рассчитать хуйню", модель считает (в бекграунде) и после расчета отсылает сообщение контроллеру "хуйня рассчитана". Получив это сообщение контроллер останавливает NSProgressIndicator и вызывает контроллер который занимается результатами. Если делаешь что-то простое то можно не ебаться с моделью и наблюдением, а расчитать сразу в контролере и потом вызвать второй с результатами. Но это типа не MVC, и желательно разобраться с моделями и наблюдением.
>>727379 Уф, как всё сложно... >>727360 В любом случае попробовал я как-то так сделать, ошибок не пишет, но во второй контроллер не переходит, в чем дело?
>>727374 Твоя проблема в том, что ты всё завязал на Segue, а в большинстве нормальных проектов весь navigation stack менеджится исключительно кодом. Учись показывать viewController'ы кодом, не сегами в сторибордах.
>>727415 И да, зачем тебе еще один навигейшн контроллер? У тебя есть основной navController - в нём твой текущий vc. В нём обработка нажатия кнопки - дальше идут вычисления, в конце них просто презентуй свой tableViewController, не оборачивая его в еще один navigationController и всё.
>>727471 Обработка зависит от выбора в таблице, после должна грузиться совсем другая таблица, в которой надо делать другие выборы. Алгоритм есть, все так-то работает, не могу красиво связать :( Я просто на самом деле хз как это сделать по-другому...
Да, сука! Наконец-то заимлементил распаралленый openGl-стэк (рендер происходит на параллельном потоке, выводится на главный) Как же я заебался. Мелочи, причём, крылись в мелочах - а именно, при убийстве вьюхи необходимо было чистить буфферы и тут то другие вьюпорты сходили с ума и падали с различными ошибками. Ура, блять.
Как организовать правильную синхронизацию? Между кордатой/ реалмом и каким нибудь парсом? Ну чтобы приложение норм работало без интернета и в случае чего синхронизировалось и старые данные тянули из интернета на новый девайс
>>728719 Да просто всё что грузишь парсишь и пихаешь в базу, а UI рисуешь, исходя из данных в базе. Для таблиц используешь FetchRequestControoler'ы, для каких-то единичных сущностей, типа профиля юзера - систему нотификаций об обновлении.
>>729272 А, ты про это. Лучше не реализовывать этот геморрой. Если у юзера есть возможность редактировать контент - сразу отправляй на сервер. Если отправить не получилось, пиши "Отправка не удалась, попробуйте позже". Совсем автономная двухсторонняя синхронизация - ебанутый, неочевидный для юзера, геморой. Посмотри на фейсбук или инстаграмм - там если и есть оффлайн отправка данных юзером, то это реализовано в качестве отложенных очередей.
>>729446 Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<loading:) has no segue with identifier 'segue1'' Всё еще та же ошибка :(
>>729627 Нет. Значения в словаре находятся в определенном порядке (отсортированы по ключам или по хешам, в зависимости от того как именно реализован словарь) для быстрого поиска значений, и менять его нельзя.
>>722377 (OP) ПЛАТИНОВЫЙ ВОПРОС В общих чертах или даже лучше если будет конкретно: примерно какого вида должно быть приложения для показа на собеседовании при отсутствии опыта то бишь устройстве на первую работу? Желательно без использования API всяких чуханов типа твиттора/фейсбука яндекса или тем более напишите простенький клиент вк))))) которые ты в жизни юзать не будешь.
>>729866 Опиши конкретней свои проблемы связанные с "напишите простенький клиент вк)))))" (кроме необходимого количества работы/знаний). Возможно тебе не стоит идти в мобильную разработку?
Кто-нибудь тыкал появившиеся веб-фреймворки на Swift? Какой из них наиболее привлекателен? Сходу загуглил - нашел аж 4 на первой странице выдачи, все с кучей звёздочек и форков.
>>729989 Все апи по сути очень похожи. Ресурсы + oauth-авторизация. Что ты там решил копать - не ясно. Возможно, ты вообще апи ни разу не юзал и считаешь, что это нинужно. А это очень даже нужно.
>>722955 > Да там кода было строк на 20 - и на тебе, такое-то увеличение бинаря. Так нахуя было городить огород со свифтом? Если планируешь переписывать весь код на него или весь новый код на свифте писать - тогда это уже будет не 20 строк
>>733365 >Так нахуя было городить огород со свифтом? А когда по-твоему вкатываться в свифт? Или вот так взять и заставить всю команду начинать новый проект на свифте?
>>733367 Ну напиши хоть тысячу строк на свифте. Или на досуге накатай прогу. Я вот год назад за пару месяцев переписал прогу с обджектива на свифт. Пишешь новый класс - на свифте. Нужно переписать большую часть кода класса - переписываешь на свифт. Остальное вечерами посидел и переписал. С того времени все новые проекты - на свифте
>>733382 > Пишешь новый класс - на свифте. Нужно переписать большую часть кода класса - переписываешь на свифт. Остальное вечерами посидел и переписал. С того времени все новые проекты - на свифте Парень, ты мне сейчас америку открыл. А я-то и не знал. Это сарказм был, если что. Именно так я и начал. Взял и новый класс наебашил на свифте (20 строк кода, менеджер звуков). А он мне в ответ хуйнул мегабайтами в бинарь.
>>733554 >Ну так что с того, что сейчас 20 строк? Потом будет 10000. Десять тысяч будет когда-нибудь потом, а бинарь раздуется на лишние мегабайты уже сейчас. Пидоры всё-таки в эполе, организовали такую хуиту с этим рантаймом что висит груша-нельзя скушать.
>>733882 Ну я не знаю что там у тебя за проекты. У меня в проектах вес приложения важен. >>733923 Ну как бы да. В 4 метра можно вместить несколько крупных текстурных атласов.
>>734273 Иногда необходимо использовать openGL посреди обычного uikit, как обычную вьюху. Проблемы начинаются хотя бы с того, что стандартный GLKit-стэк (GLKViewcontroller + GLKView) работает на в главном ранлупе, который также используется повсюду - в скроллвью, в рекогнайзерах, да и вообще где угодно. Это приводит например к таким весёлым штукам как остановка рендера при прокручивании скролвьюх. Ну и, также, если рендер тяжёлый - остальной интерфейс будет просто тормозить. А так - рендер не влияет на главный поток никоим образом. Конечно это не имеет никакого смысла в случае если у тебя всё приложение - полноэкранный gl-вьюпорт.
>>722854 >насколько сам код на Swift генерирует больше процессорных инструкций Там вообще какая-то жопа с бинарником происходит после сфита, все дробится на маленькие функции - не понятно что от чего работает, даже хук не сделать. Говно ебаное в общем.
Не знаю сюда ли я зашел, но всё же спрошу, анона либо пошлите туда где спросить - У еотовой подох Samsung Galaxy Tab 10.1 там все пикрилы и видосики, в мастерских мычат и пожимают плечами на вопрос: можно ли всё это выдернуть из этого дохлика ??
Добрый вечер! Не вижу у вас faq и поэтому задам вопрос. Что нужно, чтобы вкатиться к вам? Знание яп какого-нибудь еще надо или без этого лучше не лезть? Обязательно ли надо мак или достаточно одного айфона?
>>735276 Всмысле? При чем здесь ява или дотнет? Мы же технологии с точки зрения разработки оцениваем, а не конкретных програм. Да и под шиндоус сонивегас явно получше будет все же.
>>735760 Я хуй с горы, но будучи абсолютным нулём в iOS, за месяца полтора написал подобное трекинг-приложение (с аппловскими картами, но яндексовский апи на сервере использовался для получения оставшихся времени/расстояния), поэтому я бы сказал, что не слишком дорого. Сколько это "не слишком" в цифрах — вообще не представляю. Разумеется, дизайн у меня был не ахти, да и качество кода, вероятно, оставляет желать лучшего.
Но это если одноразово, а тебе-то, полагаю, для бизнисов, а там поддержки-хуершки, апдейты и т.д.
// If active text field is hidden by keyboard, scroll it so it's visible // Your app might not need or want this behavior. CGRect aRect = self.view.frame; aRect.size.height -= kbSize.height; if (!CGRectContainsPoint(aRect, activeField.frame.origin) ) { [self.scrollView scrollRectToVisible:activeField.frame animated:YES]; } > Your app might not need or want this behavior. Если убрать этот кусок кода, то авто-скролл все равно будет продолжать работать.
Весь функционал, по всей видимости, педалится вот этим: scrollView.contentInset = contentInsets; scrollView.scrollIndicatorInsets = contentInsets;
Но как так? Что за undefined поведение? Почему выставление инсетов в обработчике появления клавиатуры заставляет весь скролл вью прокручиваться?
Меня устроит один из вариантов ответов: - ткнуть рожей в офф доки, где объясняют почему так - ткнуть рожей в семпл код из офф доков, где естьь более подробный комментарий почему так - ткнуть рожей в первый ответ из треда стековера, где доходчиво умный человек рассказывает почему так
>>736241 Не ругается. Указал внешние ограничители скролла по отношению к супервью и внутри скролла все содержимое имеет отношение к каждой стороне. Ругаться будет если забудешь "изнутри" содержимое приколоть.
Ну или взять скролл вью, растянуть на всю сцену, накидать внутрь полей и сделать suggested. Тоже не ругается.
У меня перестал меняться один viewController при смене wAny hAny, остальные контроллеры меняют свой размер соответственно с элементами внутри. Что я в нём сломал?
Здравствуйте! У меня есть вопрос такого характера: Вот я сейчас изучаю Python, смогу ли я в будущем перейти(без проблем) на Swift/Objective-C или для начала учить 'C'?
>>736803 Конеш. Суть созданной эплом экосистемы вокруг обжс в том (да и мобильной оазработки в целом), что тебе нахуй не нужно знать что-то кроме методов из стандартных библиотек и как их вызывать чтобы писать софт под мобилки.
>>736812 Сразу видно, что ты - макака-говнокодер. Напридумывал тут всякую чепуху про экосистему.
В Эппл пишут фреймворки и библиотеки на C/C++/CoreFoundation, даже если эти фреймворки предназначены для GUI. Например Quartz и CoreGraphics - С/С++ фреймворки. Потому что если бы их писали на Objc - они бы работали медленее и жрали больше памяти и в Эппл это прекрасно понимают в отличии от макак-говнокодеров.
>>736820 В Foundation почти все типы это обычные wrappers для CoreFoundation, для максимизации производительности нужно убирать Foundation и использовать CoreFoundation, что эппл и делает в своих фремворках.
>>736843 А я сразу вижу маню-дауна. Кококо, перформанс, ведь в обж-с все вызовы по дефолту вычисляются в рантайме! Ахуеть! Из-за 0.001 мс при отрисовке кнопки будут видны лаги! А если там что-то написано на плюсах - сомневаюсь что всё написано без теж же виртуальных функций и прочего.
Я уже писал, но ты похоже не умеешь читать - для написания приложений это нахуй не нужно. Всё пишется на готовом, мобильная разработка - это такой "нативный" веб. Ты тыкаешь кнопочки, кладешь списки мышкой, пишешь для них обработчики - и всё.
>>736866 >>736884 >Только не порт/враппер/физический/рендер движок >для написания приложений это нахуй не нужно ты походу только софт по доставке пиццы умеешь писать? нахуй ты нужен в этом мире? ты вообще в курсе какие задачи ставятся перед серьезными программистами? ты не в курсе, ты вообще вживую их не видел. иди пили свои "приложения".
>>736926 Как же я проиграл с мамкиного оналитека, который не разу не работал. Набросал уже было тираду в ответ тебе, дурашке, но потом забил и удалил - нахуй объяснятся с иждивенцем?
>>736773 > или для начала учить 'C' "учить C" громко сказано, но базовые знания нужны так как objC это надстройка над С. Но, как правило в учебнике objC для новичков должен сначала даваться сишный синтаксис, а дальше уже даваться обжектив (классы и т.д.). Если идти по такой книге то учить С специально мало смысла.
Юзал сишку для работы с OpenSSL, довольно долго анально пердолился (крипту пилили). Можно было и не знать ее, наверное, вряд ли бы сильно больше времени потерял.
Мужики, а вы тут не поехали часом? Спор идиотский. Что это значит - писать на Objective-C, и при этом утверждать, что ты знать не знаешь и знать не хочешь C? Ты в обжектив понимаешь что такое указатель? Понимаешь, иначе бы работать не смог. Ты до ARC писал всякие retain/release? Писал. Значит концепцию malloc/free понять в состоянии. Значит ты знаешь C. И более того, пишешь на нем каждый свой рабочий день. Ибо Objective-C - это и есть C (в отличие от крестов с шарпами). Ты перед тем как сказать, что ты не перевариваешь си, не знаешь его, не будешь учить его, задумайся - ты собираешься сказать, что ты ios приложения пишешь жопой. И если боишься и не понимаешь разницы между const char и NSString - советую перекатываться в веб на JS, потому что ты скоро обосрешься с позором.
>>737659 Учи обжектив, как начнешь нормально код читать то перекатывайся в свифт. Большая часть необходимых знаний - фрейморки, а они одинаковы, тоесть в принципе без разницы что учить. Можно одним обжективом спокойно обойтись. Можно свифтом - с ним есть небольшие проблемы но после питона его проще будет использовать. Если хочешь искать работу то кране желателен обжектив (это значительно увеличит количество доступных вакансий).
Мне сложно наставлять новых людей. Потому что я лично помимо Objective-C знаю И swift, И питон 2, И питон 3, И еще много много И И И И И И И языков, которые в данной ситуации уже будут звучать как оффтоп. И ежедневно вижу классных людей с горящими глазами, которые жадно кодят на всем, что под руку подворачивается, и нет у меня отбоя от их умных вопросов. А эти "или"... заебали уже.
Хочешь хорошую работу - перестань употреблять ИЛИ. 7 языков сейчас знает высокооплачиваемый прогер в штатах. Минимум тебе это. Новый ориентир. Въебывай.
>>737688 Выше по треду было, а я теперь до конца нашей цивилизации буду вспоминать. Структуру с битовыми полями на свифте продемонстрируй, если не лень. Исключительно как иллюстрацию, что все одно и то же.
>>737675 >7 языков сейчас знает Нахуа? Работаю в основном на ОбжС, но хорошо. Остальные языки кроме свифта и можно было бы вспомнить, но никому это не нужно. Специализация. А если ты мастер на все руки, и ручку в жопу засунуть и на тромбоне проиграть, то я бы задумался над адекватности твоего места работы. Впрочем, что тут задумываться.
>>737833 > Впрочем, что тут задумываться. Ты, наверное, хотел сказать "чем тут задумываться". Очевидно, тебе нечем. Тебе же в голову не может поступить мысль, что у человека было несколько мест работы, а еще бывает, что человек работает в двух местах сразу (а иногда в трех). Тебе не понять, ты же кроме посещений двача и диванных выяснений "какой язык лучше" ничего в жизни не делал.
>>737860 А зачем мне всё это представлять, если а) я синьор в ОбжС и свифте, б) за это мне платят больше, чем за твои 7 языков, в) таких мастеров на все языки, например, у нас в конторе посылают нах, и правильно делают, г) если вдруг меня пошлют нах в конторе, то я уверен, что вкачусь на не худшие условия в течение месяца.
>>737860 Алсо, ты работаешь на двух, а то и трёх работах сразу, потому что либо а) у тебя настолько плохая команда, что у тебя есть лишнее время, либо б) тебе настолько плохо платят, что ты готов гробить своё время и здоровье по ночам и в выходные.
>>737925 >>737924 Дорогой, лично ты можешь хоть всю жизнь протирать один и тот же стул. Мне от этого ни тепло ни холодно. 7 языков - это я просто вспомнил статистику с последнего опроса стека. Сам то я их побольше знаю как сеньер. Удачи, коллега.
Это я толщу, конечно, но ведь и правда, зачем знать их все? Ведь области применения похожие. Разве что знать 5 для всех основных мобильных и не очень платформ, пифон/руби + жс для скриптохуйни и личного блога, баш не считается, ну и на плюсах в качестве хобби какие-нибудь контроллеры программировать. Это максимум 8, но уже слега избыточно, как мне кажется.
Как-то так, на высоком уровне их знать одновременно выглядит не очень.
>>737954 А если ты закидываешься менее популярными хаскеллями, эрлангами да схемами, то велика вероятность, что шарпы с джавами не нужны. Иначе совсем уж по задачам распыляешься.
>>737954 Странный ты. Что значит ЗАЧЕМ? Вот я поработал 3 года там, 2 года сям, 5 лет тут, 6 лет здесь. Мне надо забыть все языки, на которых я дослужился до сеньера? Память у меня хорошая. Все помню. Помню особенности, помню стандарты, помню код. Зачем мне забывать это и как это сделать? Книжка где-то была - "Как забыть С++".
Потом смотрю статистику - а я не один такой. Западные сеньеры тоже владеют семью языками. А потом приходишь ты и говоришь что мы дураки. Сюр.
>>737960 >Зачем мне забывать это и как это сделать? Ну оно как-то само же.
Ну если ты просто за свой двадцатилетний опыт использовал более семи, то всё норм. Просто активно использовать их все - вот это уже, мм, непродуктивно.
>А потом приходишь ты и говоришь что мы дураки. Да нет, я как бы вообще мимопроходил.
Аноны, выручайте, столкнулся то ли с багом то ли с чем.
Внезапно в Scence Editor в последнем хКоде перестали перетаскивать объекты(ноды). То есть, я пытаюсь его перетащить, видно какой то контур, но ничего не тащится. При этом я могу изменить их положения поменяй х и у координаты в том же едиторе. В других проектах на этом же маке - все ок.
>>738827 Ты про деньги? 100 баксов девелоперская пошлина в год. Можно ещё на маркетинг потратиться, если думаешь, что у тебя крутое приложение с потенциалом на популярность.
>>738874 Да, я о деньгах. >100 баксов девелоперская пошлина в год. А, и все? И хоть овер 9к приложений пости @ засирай аппстор? И для компаний тоже всего 100$? И не зависит от наличия рекламы?
>>738941 Что-то я там не нашел про лимит на количество программ. Пишут что 70% от цены программы остается за разрабом, но в какой валюте? Если пиндос купил программу за 99 центов, мне в рублях по курсу будут перечеслять?
>>739305 А какая разница, 70% от выручки в рублях или в долларах? Ну или к чему было вообще упоминать это в предложении тогда, если вопрос "в какой валюте платят"?
Я вот выше прочитал про кво и делегат, но так нормально и не понял.
Как в повседневной жизни мне нужен пошаговый пример как передается данные из одного класса в другой, это наверное единственная тема которую не могу нормально понять
>>745199 Чё? Я только недели две назад вкатился в иос, впервые в тебе, мне мак подарили на др друзья, решил начать вкатываться чтобы с нынешней уйти, читал кочана, но там что то про это не понял, мне ты видео урок, Анон выше вот про делегаты писал, но без примера я вот не понял
>>745687 старая конфа живее всех живых, скам был удален и вкатился в новую конфу, итого: старая конфа - около айосные обсуждения, новая конфа - флуд и срач
Аноны, подскажите, я изменяю программно плист файл. В симуляторе он сохраняется и правильно используется. На реальном устройстве изменения в него не записываются. Почему? Где-то нужна галочка разрешения изменения программы самой себя?
>>722824 > а тут хуяк и ±6 мб сверху. Я тут расследовал почему мой проект занимает 300 мб на диске. Пэипаловская либа cardio, которую поды ставят вместе с пэипал сдк, занимает 289 мб. А ты жалеешь 6 мб
>>748995 >Ребят, поясните на сколько перспективна мобильная разработка или скоро все перейдет в веб и все будут писать на js? JS сдохнет, см https://2ch.hk/pr/res/743292.html
>>722377 (OP) Читал тут пост на quora, там человек писал, что мобильная разработка это 90% времени работа с UI двигая элементы по экрану мышкой, что это пипец как скучно и вообще. Успешные аноны не расскажут так ли это? Какие интересные задачи вы решаете в работе. В вебе есть пердоленье с линуксом, работа с разными базами, управление конфигурацией, балансеры, кэши, демоны, распределенка. А в мобайле?
>>750080 >мобильная разработка это 90% времени работа с UI Это так и есть. >что это пипец как скучно и вообще Программирование это вообще пипец как скучно, профессия такая. Сначала когда изучаешь технологию которая тебе нравится и начинаешь проект - всё заебись, потом это переходит в рутину и пердолинг с легаси-говном. >В вебе есть Половина перечисленного тобой - работа сисадминов. Остальное - такая же рутина. >А в мобайле Нихуя нету. Скачай любое приложение и посмотри что оно делает. Сплошные красивые обёртки над сайтами с минимальной логикой.
>>750080 >мобильная разработка это 90% времени работа с UI Сколько процентов – это зависит от сложности проекта и твоей роли в нём. Но в целом – да, мобилки это же фронтенд. >двигая элементы по экрану мышкой Вообще не использую interface builer. В сложных проектах это возможно, но без него мне привычней. Относительно скуки – не соскучишься, если проект не обезьяний. >Какие интересные задачи вы решаете в работе. Продумывание оптимальной архитектуры и логики на всех слоях – слое данных, представлений, контроллеров – всё ведь можно сделать 1000 и одним способом. Анимашки, опять же. Пердолясь с ними, ты не соскучишься. Работа с сетью, сериализация\десериализация – если проект действительно сложный, то одного поделия от Аламофайер из коробки не хватит. Один раз разгрести это дело, дальше будет проще, сложность, только если понадобится прикручивать действительно сложные вещи. >пердоленье с линуксом, работа с разными базами, управление конфигурацией, балансеры, кэши, демоны, распределенка. Удваиваю анона выше. Этим должны заниматься админы и девопсы. Если этим занимаются в основном всякие джависты – это значит, что в команде неправильно выстроены процессы. Вообще, я всем рекомендую идти в бэк. Станешь умнее. Освоишь докер, балансировочные решения. Маппинг апишек. Монгу. Эх, весело. В мобилках ты так и будешь лабать мусипусечки для мобилок.
>>750127 Да, портянки. Более того, автолэйаут не везде использую. Пишу на Обж-Си, но планирую начать писать новый код на свифте. И мож старый переписывать под него. Планирую.
Спасибо за мнения, не ожидал столько адекватных ответов.
>>750119 >Вообще, я всем рекомендую идти в бэк. Станешь умнее. Освоишь докер, балансировочные решения. Маппинг апишек. Монгу. Эх, весело. >В мобилках ты так и будешь лабать мусипусечки для мобилок. Не могу распознать, это сарказм или нет?
>>750411 Что бы это не было – в каждом сарказме есть лишь доля сарказма. Серьёзно. Не попробуешь на себе – не узнаешь, скучно это или нет. Ну и ещё: "Хорошо там, где нас нет". Может, мне бы хотелось быть джавистом, ломать голову над тем, сколько десятков гигов разрешить сожрать приложению, деплоиться по 5 часов. А тому джависту, на которого я завороженно смотрю, хотелось бы не думать о ресурсах и охуевать от того, почему эта анимашка работает вопреки всем законам кинематики.
Посоны, я что-то не вкурил, как хранить какой-то класс по указателю id (для dynamic binding) и пользоваться ARC? У меня вылетает >Multiple methods named “<method name>” found with mismatched result, parameter type or attributes
Все это конечно охуительно и про это ограничение я читал в офф гайде, но как мне теперь реализовать паттерн "Стратегия"?
>>751445 Ладно, для стратегии это не особо большая проблема, а вот как обеспечить позднее связывание, мне решительно не ясно.
Я хочу сделать позднее связывание, чтобы иметь возможность подкинуть dummy-класс в объект для тестирование. Mocking я не использую, поэтому решил сделать аля питон - втупую хранить по id. Но получаю эту ошибку. Я так понял, ARC engine чего-то не может сделать - тут я еще уточню. Но как мне добиться желаемого не делая общий протокол для dummy и обычного класса?
>>722377 (OP) Как считаете стоит в iOS разработку уходить из энтерпрайзной Java? Мак и желание фрилансить и пилить свои аппы (хотя кому они нафиг нужны) в будущем имеется.
>>722377 (OP) Скутаренко, по курсам которого мы все учились, наш великий учитель, предал эпл и ушел работать в гугл и теперь пилит курс для андроид. Это начало конца.
>>754976 > Из умного бэкендера Ты хотел сказать интерпрайз-макаки Двачую адеквата, в интерпрайзе задачи гораздо интересней и Java куда удобнее/современнее свифта
СУКА, ЁБАНЫЙ XCODE 7.3.xx И ЕГО ЁБАНЫЙ АВТОКОМПЛИТ!!!!! Пришел домой, тут старенький 7.2 стоит, И ВСЁ РАБОТАЕТ БЛЯТЬ, ВСЕ ЕНУМЫ БЛЯТЬ ПОКАЗЫВАЕТ В ВАРИАНТАХ ВЫБОРА, ГОСПОДИ 10 из 10. Ебаный 7.3, эпол, будь ты проклята.
Возмонжно ли по гироскопу, акселерометру и компасу следить за передвижением телефона (и нарисовать пройденный путь) без использования gps'а, в оффлайне, с хоть какой-нибудь приемлимой точностью в метр-два хотя бы? То есть, не будут ли погрешности и ошибки (ведь показания можно снимать лишь я определённым интервалом, правильно?) накапливаться с каждым новым измерением? Есть ли такие приложения? Не будет ли оно мгновенно убивать батарею (в смысле, разумно ли это вообще делать)? Если нет, то всё, что там нужно, это немного математики и готово, да?
Что бы это работало (с твоей точностью), нужно чтобы твое приложение было открыто и постоянно был включен экран. В ином случае твое приложение просто остановит система.
У меня вопрос, в основном, в том, что не собьёте ли это всё? Как там ускорение вычисляется, среднее за прошедший промежуток между эвентами? Телефон же в кармане во всех трёх направления будет постоянно болтаться, изменяя и ориентацию. В общем, не смотря на систему даже, просто с концептуальной точки зрения, это ведь возможно? А то вот представил, что если значения ускорения будут передавать раз в два шага, скажем (для примера, понятно, что там миллисекунду будут), то телефон сначала ускорится, а потом замедлится, остановившись, пока другая нога двигается. И всё, среднее ускорение 0, а ведь подвинулся. Подонбого плана проблемы могут возникнуть?
>>756591 да оно вообще не работает сейчас. Вот тебе надо написать чтонибудь типа [NSLayoutConstraint constraintWithItem:container attribute:... и всё, пизда - хуй ты выберешь нужную опцию среди атрибутов, нажмёшь ты Esc или нет - список выпадает, но он пустой, и в нём отображаются только те варианты, которые ранее встречались в этом же классе. Приходится через cmd+click ебашить в метод, там щёлкать на имя енама и, провалившись в него, выбирать нужное. Ёбаный эпол, надо же было так сломать всё к хуям.
Подскажите, пожалуйста. Есть штука типо пикрелейтед. То есть какая-то картинка\текст сверху, а под ними таблица с разными кнопками. Нажимая на кнопку - изменяется верхний текст и картинка. Можно было так не делать и сделать через простой тейблвиев, но тогда при скролле нужная мне вещь улетает за верхний край экрана. Зато изменяется. А так не получается изменять. В общем 2 вопроса: 1. Как изменить текст Your Routes на скрине при нажатии на элементы таблицы. 2. Как зафиксировать верхнюю шапку, если этот текст прописать над таблицей в тейблвиевконтроллере? У меня ни так, ни эдак не выходит, не знаю что делать.
>>756793 Ты можешь сделать это через простой тейблвью с одной секцией и sectionHeaderView - тогда этот хедервью не будет улетать, а постоянно будет находиться на экране.
>>756915 Нахуя ему всё это, если можно сделать headerView, как я описал выше >>756861. Таким образом всё умещается в один tableViewController, без необходимости ебаться.
Подскажите пожалуйста, может где есть гайд. В общем я делаю приложение с картой, и мне нужно, чтобы мои координаты отправлялись на определенный сервер, допустим с периодичностью в 15 минут.
>>757642 Ну кастомный класс сделай, со своими контролами, сохрани ссылочку на него и используй как тебе вздумается. Что ты как маленький. http://rgho.st/6x98Wq9T2
>>757642 И зачем ты там вообще UITableViewCell используешь то? Криво получается же. Там обычная вьюха нужна. Накрайняк обёрнутая во viewController, если сильно хочется.
Похожи то похожи, но у свифта есть более удобные if let, guard let, нормальные литералы массивов и дикшэнарей, а не arrayOf ( ... ) mapOf ( ... to ...)
>>722377 (OP) Говно ваш свифт ебанный. Делал проект на сфите еще под Мавериксом, все работало нормально. Пару месяцев назад решил собрать этот проект под капитаном, скомпилилось все без ошибок, но тут же упало при запуске. Пришлось все с переделывать. И где тут гарантия, что после выхода свифт 3 такая же фигня не произойдет?
>>757696 Во первых: сейчас вопрос выбора вообще не стоит.
Во вторых: > у свифта есть более удобные if let, guard let По факту это вкусовщина, размер кода и понятность такая же (тем более когда есть автокаст).
Вообще в Kotlin есть девиз "как можно меньше внедрять в язык, а делать на уровне библиотеки". Это более гибкий подход для языка и даст преимущество в будущем (Apple конечно на это плевать, они язык ломают каждые полгода).
Кстати скоро в Kotlin появится async/await/yield "из коробки", вот тогда заживем.
>>757715 >Сразу видно джуна, сеньоры говорят "скоНпилилось". Во-первых, to compile поэтому скомпилить. Во-вторых, это не имеет отношения к тому что свифт - говно.
>>757767 >>757767 Я сразу по error: nil и countElements вижу, что эта кривота не заработает на текущей версии отбросов Тима Кука.
Мало того, что твой код напоминает танцы вокруг плюсов до времён C++11, он ещё и не рабочий. Плюсишные костыли хотя бы один раз написал, засунул в либу и забыл об этом ужасе до времён оптимизации. А тут ещё и каждый раз придётся лезть в код и недоумевать от очередных яблочных приблуд.
>>758009 Да я и не говорю что на этом сырье надо что-то писать - считаю что те, кто уже перелез на свифт - лютые говноеды.
Эпол в момент релиза Swift, сразу сказали что спеки будут сырые и что всё пока as is. Не что-то - оформляй issue в гите свифта - впилят. Или сам впиливай и пытайся пульнуть. Сырой язык, и всё тут.
>>758174 >linkedin Ты их приводишь как пример крутых ios-разработчиков сейчас? У них ios-клиент работает как говно сраное - с притормаживаниями и подвисаниями.
>>758271 >Ты просто присваиваешь лейблу хедера значение и вставляешь. Ты в CustomHeaderView заглядывал вообще? Чот дебик какой-то))0 http://rgho.st/7PhrZTKPP
В моем приложении, есть момент где есть некий CIfilter, который смешивает два изображения. Но суть не в нём, а в куске кода, который CIImage -> UIImage для вывода на экран. Вот он
Он работает, но сука, жутко тормозит систему. А обработка мне нужна "на лету". Пробовал его заменить на
let newImage = UIImage(CIImage: filter.outputImage) imageView.image = newImage
Но этот код возвращает пустое изображение, не Nil, а именно пустое. Вообщем вопрос, как с минимальными ресурсами перевести CIImage из фильтра в UIImage? Асинхронно в этом случае нельзя, входное изображение максимально оптимизирую перед подачей в фильтр.
>>759910 первый кусок кода написал с ошибкой, там так. context = CIContext(options:nil) let cgimg = context.createCGImage(filter.outputImage, fromRect: filter.outputImage.extent()) let newImage = UIImage(CGImage: cgimg) imageView.image = newImage
Есть шанс попасть на вакансию trainee iOS-разработчика. От меня будут требовать ТОЛЬКО теоретические знания на собеседовании, далее выдадут мак и три месяца на приобретение практических навыков. Есть одна загвоздочка - никогда не кодил под iOS, Cи был только на первом курсе в виде laba1. ОО-концепцию понимаю, и, как любой Java-питух, пробовал кодить под андроид. ОП-пост читал не жопой, просто попрошу знающих анончиков чуть более подробно и исходя из специфики моего реквеста написать мне road-way. И с чего начать-то.
>>760580 Чувак. Заходи на русракер. А дальше в зависимости от того, на чём будешь писать проекты: пишешь objective-c lynda.com или swift lynda.com. Ещё есть охуенные лекции от них более узкоспециализированные
>>760580 Делюсь ещё одной порцией информации: им нужны iOS-разработчики, но тестовое задание на проверку теории будет по Си/Си++. На мой вопрос "Почему сразу бы не спрашивать по Obj-C?" - ответили "Чтобы люди и со знанием Си тоже могли попробовать, мы из переучим в ходе стажировки".
Поясните, это нормально? Мне придётся вспоминать няшную и плюсы хотя бы на базовом уровне. Такой-то ад.
>>761052 Плюсы не нормально, С нормально. Обжектив - надмножество С, если ты знаешь обжектив, знаешь и С. На трейни iOS распространено когда требуют С (иногда вообще любой язык) а не обжектив. Там не должны какую-то заумную ебалу спрашивать - только синтаксис. Тащемта для iOS разработчика плюсы тоже относительно полезно знать, хотябы на уровне общего синтаксиса - в некоторых вакансиях требуют, но это скорее специфические случаи. Плюсовые исходники достаточно просто подключить к обжектив проекту, если есть хорошая плюсовая библиотека (а их больше на плюсах чем на обжективе) то лучше ее использовать. В моем бодишопе (iOS) на одном проекте использовали boost (для линала) - но это требование заказчика было. Специально учить плюсы естественно не стоит, тем более новичку. Но в общем их знание небольшой плюс, если вдруг есть желание. У нас новичек как-то проговорился что он интересуется плюсами (и D), понемного Qt ковыряет. Его ПМ потом долго пытал пытаясь выбить признание что он "знает плюсы" - чтобы его как плюсовика можно было продавать, но чувак отморозился.
> Тащемта для iOS разработчика плюсы тоже относительно полезно знать, хотябы на уровне общего синтаксиса
Будут вопросы по самым банальным вещам: встроенные типы данных, объявление, инициализация; операции - арифметические, присваивания, битовые; циклы и условные операторы; классы - поля, методы, статические переменное и так далее; наследование и полиморфизм. Это все, как я понял, относится к Си/Си++. Так-то, два года назад начинал своё знакомство с программированием этих языков. В плюсах базовые вещи освоил. Сейчас надо как-то за чуть более, чем неделю все это освежить в памяти. Уже когд как занимаюсь Java, все из плюсов забыто.
Привет, аноны. Сейчас занимаюсь разработкой под андроид, но планирую вкатываться к вам. Как правильнее это делать? Планирую начать с изучения obj c, попробовать сделать что то простое типа прогноза погоды. А потом уже изучать swift, нормальный поход? И как быть если у меня шинда, не проблема ли компилить все на виртуалке?
Используя swift + swiftyJson пытаюсь получить например "id" первой записи на стене
Составляю запрос: if let id = jsonResult["response"][1]["items"][0]["id"].string { print("ID: \(id)") } И получаю хуй. jsonResult точно правильный, при выводе print(jsonResult) в консоли вижу все вот это. Где я делаю что не так? Просто логика обращения к джосн мне не очень понятна как новичку, особенно через костыли.
if let id = jsonResult["response"]["items"][0]["id"].string { print("\(id) ID") }
Попробовал, не хочет. Я вообще не попадаю в тело цикла, т.е. swiftyJson где то натыкается на nil в моем запросе. Опять же, json точно не пустой и соответствует тому, что я скинул.
К слову, этот код if let array = jsonResult["response"].array { print(array[0]) } возвращает верное значение count.
Анон, я тут проникся этими идеями швабодки и все такое и задал себе вопрос на который не смог ответить. Допустим что-то произойдет, где Apple сделает неверную ставку и сольется как Nokia или как Siemens ну или как вот там иные всякие гиганты кажущиеся непотопляемыми проебывают рынок, что потом о них и не вспоминают. Т.е. можно, конечно, сидеть тут сейчас и приводить мантры и аргументы уровня геополитики почему это не произойдет но меня интересует вопрос куда можно будет совершить перекат, если у нас все завязано на фреймворке фоундейшен, который нигде больше не используетс ?. Т.е. какая область имеет наивысший потенциал по перекату или они все откатятся в почти начальную точку ?
Есть ли тут те, кто перекатился из iOS куда-то в другую сферув смысле не пекарем булочек стал Почему перешли? Что заебало? Куда перешли? Есть ли какая-то тенденция переката iOSников в какую-то определенную область или у всех хаотично ?
Как лучше всего делать на iOS простые анимации типа прыгающий шар, мигающие кнопочки и пр. Использовать низкоуровневую графику типа как в играх? Встроить WKWebView и там уже проигрывать js+css+html? Flash? Какие есть варианты?
Какой iOS-нику важно/удобно/полезно знать вспомогательный язык и почему? Какой вы знаете ? Ну т.е. не то, что вы чем-то другим до этого занимались а потом у вас этот навык просто остался и вы его знаете а именно будучи иосником ? Я сам вообще начитавшись всяких анонов избегал веба и всего, что с ним связано как огня, чтобы не утянуло ложной легкой дорогой в начале обучения, что даже ни разу html страницу типа my home page не создавал в отличие от множества людей делавших это и не даже не связанных с программированием. Я как-то недавно попробовал python и он мне так понравился, он был таким ПРОСТЫМ няшным и понятным после боли и ебли с obj-c, что мне стоило сделать над собой усилие, чтобы не искусится этим демоном и продолжать держать уздья в правильном в долгосрочной перспективе направлении.
Можно ли средствами эппла получить координаты улицы, целиком её описывающие? То есть, чтобы получив название улицы по свои координатам через CLGeocoder я мог привязать себя к этой улице и дальше при каждом обновлении позиции находить ближайшую точну именно на ней, а полилайны бил красивенькие и ровные. Ну и главное, конечно, что повторный проход по этому же месту будет легко определяться как повторный без каких-либо дополнительных сравнений прошлых координат. Финальная цель — что-то типа "места, по которым уже ходил".
> Не работает под Макинтошем. Понятно. Не было печали - купила баба Макинтош. Будь проклят тот день, когда Стивен Джобс вернулся в Эппл. Глядишь, уже и обанкротились бы. Так нет же…. Ну, пойдем смотреть. Где этот чертов суперкомпьютер? Велкам ту Макинтош. Издевательство какое-то над людьми - ну зачем, зачем они покупают этот мусор за тысячи долларов? Да нет, мне не жалко их тысяч. Но ведь мы должны поддерживать этот антиквариат! Ладно, я спокоен. Я спокоен как змея. Да, вижу, не работает. Да, ошибка есть. Да, будем исправлять. Есть в этой суперсистеме телнет? Нету? А кто сомневался. Ты сомневался? Я - нет, не сомневался. В ней только фотошоп есть и все. Это специальная система для фотошопа. Так бы и продавали - макинтош для фотошопа. А телнет - зачем ей телнет? Не нужен ей телнет
аноны,хватит 4 гига оперативы для комфортного кодинга?планирую брать модель 15 года с такими характеристиками Двухъядерный процессор Intel Core i5 с тактовой частотой 1,4 ГГц 4 ГБ памяти Жёсткий диск объёмом 500 ГБ кто-нибудь прогал на таком?
>>757728 > async/await/yield "из коробки", вот тогда заживем. Да, мне, кстати, припекает от того, что эпол не собирается запилить асинк эвэйт. Во всяком случае планы на эту фичу не гуглятся. А ведь это будущее асинхронного программирования
>>757767 Да, регулярки они ещё не довели до ума. Давно пора было запилить оператор ~= для строк из коробки. Он есть для рангов и энумов, а для строк приходится определять его самостоятельно. Но я смотрю, в 3-м уже выбрасывают префиксы NS и вообще пилят новую foundation специально для свифта. Вот тогда и эти костыли перепишут. Обещают запилить в версии 3, если не ошибаюсь
Антоши, подскажите как асинхронно скачать картинку и добавить ее на вьюху чтобы интерфейс не зависал? Положил свой код в dispatch_async но приложение на время загрузки картинки ни на что не реагирует. Сам ньюфаг. В многопоточности и во всех этих штуках не особо шарю.
Есть кастомная ячейка, которая заполняется моделью, есть еще два массива, которые надо передавать в таблицу и заполнять те ячейки, если в этих массивах есть элемент из модели, так вот как мне передать эти два массива и сделать проверку? Сижу голову ломаю, задача ведь простая, мне осталось тока заполнить.
Допустим есть яечйка с 4 лейблами 1 и 2 лейбл подтягиваются из модели. затем гружу данные и должен заполнить 3 и 4 лейбл, в 3 лейбл из одного массива данные приходят в 4 лейбл из другого, причем эти данные есть не на все данные модели.
Короче вот пример
1 1 4 0 2 2 0 0 3 3 12 11
Т.е. там где есть такой же айдишник - заполняем, нет - пропускаем, как быть, подскажите. Сижу туплю
>>770059 >никогда не делать storyboard >4 контроллерами внутри, Лучше ориентироваться не по количеству, а по логике сториборды. Сториборда должна быть для опеределннного кэйсфлоу. Если надо, то можно и 8 запихнуть (ну главное не переусердствовать да)
>>770790 Ну так ты там указываешь лишь имя это переменной и ее тип. Откуда компилятор знает что я имел ввиду именно эту вьюху? В Андрюхе есть Класс R. в котором генерятся айдишники для вьюх, которые ты потом в коде и юзаешь.
>>770790 И еще, как дела обстоят юай потоками? Типа я могу к сети обращаться прям из него, и нихуя висеть и ожидать ответа не будет? Или есть какой нибудь async как в c#?
>>770806 > И еще, как дела обстоят юай потоками? Так же как в андроиде: есть главный тред, есть фоновые.
Небольшая разница в том что для web запросов вообще нет синхронного апи, а только асинхронное через колбеки.
> async как в c# Таких нет, в основном все пользуются Grand Central Dispatch, это что-то тип экзекьюторов в Java. Там есть несколько готовых (для главного потока, для фоновых с разным приоритетом), но можешь и свой создать.
>>770861 Бля, суть не в этом. Я если напишу вот такую строчку в коде - @IBOutlet weak var lCash: UILabel! ну и создам в юай лэйбл, где мне устанавливать связь между этим кодом и вьюхой?
>>770854 У каждой вьюхи на storyboard есть аналог andorid/id - это случайно-генерируемая строка (типа Uuid). Явно она используется в основном только для локализации.
[см пик 1] Так же внутри storyboard хранится информация о соответствие поля контроллера (property) к ее "id" (destination).
>>769634 Понятен прикол со свифтом – для косолапых. Знаете, это примерно как среди монтажников-высотников. Одни из них, малоопытные, пользуются страховочным поясом. Другие – никогда не пользуются. Первые падают и разбиваются, вторые – никогда. Происходит это потому, что тот, кто поясом пользуется, создает себе иллюзию безопасности. Однажды он забыл застегнуться, и вот уж его кости собирают в ящик. Тот, кто поясом не пользуется, – иллюзий не имеет. Он постоянно контролирует каждый свой шаг и никогда на высоте не расслабляется.
А как работают программы, считающие израсходованный траффик на телефоне? Вроде такого — https://itunes.apple.com/us/app/dataflow-track-network-data/id955447159?mt=8 Хочу для практики в виджетах накостылять себе мелкоприложение (да и полезно будет, но без "связи с фейсбуком"), но даже не знаю, откуда начать. Туториалов не нашёл, в нетворк апи ничего полезнее transmitRate в Core WLAN тоже (видимо, плохо смотрел). Неужели эппл как-то даёт просто присосаться к интерфейсу и считать проходящие через него байты? Буду доволен и мелкой (но конкретной) подсказкой.
>>773965 По идее никак. Но можно вспомнить, что в настройках отображается потребление трафика, значит эта инфа где то хранится (в бд конечно же!) и возможно они оттуда берут эти данные.
Аноны, если смысл первокурснику изучать swift? Если какие то перспективы в этом в России? Изучать чисто для практики и опыта в программировании вообще. Как самообразование.
>>775059 >с чего начинать обучение и как продолжать Ишь ты, хитрый какой. Мы тут лампово няшимся вообще-то, текущей тусовочкой. Зачем нам тупые новички, которые сначала глупые вопросы задают, а потом еще и заработные платы демпингуют.
Спрошу здесь, пишу шкриптики в гейосе, и у меня тут анальные боли, когда ставлю одинарную кавычку ' и скажем нажимаю латинскую a, то ПОЛУЧАЮ АНАЛЬНЫЙ РАЗРЫВ В ВИДЕ á, пиздец, как отключить эту хуйню? еще, если поставить сразу две одинарные кавычки, то между ними появляется третья, это же гейос меня ебет, а не редактор в нескольких проверял
У меня куча знаний по иоси, но все пиздец разбросано, посоветуйте книгу структурировать это все. А то на практике я все по немного использовал и не всегда понимал суть как это работает
>>781950 >У меня куча знаний по иоси, но все пиздец разбросано, посоветуйте книгу структурировать это все. А то на практике я все по немного использовал и не всегда понимал суть как это работает Ios technology overview. А вообше, нехуй было по верхам скакать и вместо того, чтобы копипастить с SO надо было читать гайды
Всем привет. У кого-нибудь есть электронный вариант Beginning iPhone Development with Swift 2: Exploring the iOS SDK? Устал поисковик дрочить, не могу найти.
>>735786 > я абсолютный ноль в кодинге, но когда-то забесплатно сделал что-то издали слегка напоминающее то, о чем ты говоришь, но цену я тебе все-равно не скажу. Спасибо, ваш комментарий очень важен для нас
Аноны, подскажите какой путь правильный. Сначала вникнуть в обж-си, заиметь на нем опыт и потом перейти в свифт или же вникнуть в свифт, пописать на нем и перед трудоустройством вникнуть в обж-си?
>>787367 Глупые вопросы какие-то, ты из деревни что ли. Сначала надо гей-шлюхой на панели постоять, поторговать жопой, чтобы накопить на макбук, айфон и айпад. А потом уже и начинать программировать.
А есть что-то по обжу новое, а не 1985ого года? Хочется книгу где пошагово от нуля (типов данных) до конца разъясняется за синтаксис + в конце каждой главы задания даются. Стенфордские курсы не предлагать, на слух не воспринимаю инглиш, а вот читать могу.
аноны, сор если не тут стоит спрашивать, или если грубо будет звучать, но iOS по сравнению с ведройдом сильно проигрывает в плане рынка труда? если бомж без яблокотехники, возможно стать программистом под iOS или андройд и не выебыватся?
>>787648 тут скорее вопрос от знатоков, я в жизне яблокотехнику не держал дольше 10 минут. возможно не целесобразно пытатся писать под iOS в такой ситуации? хочу чтоб анон меня успокоел или сказал что не стоит и сказал правду
>>788446 ну я же писал что я никогда не пользовался этой техникой дольше 10 минут. изначально вопрос был в том возможноли адекватно кодить под яблоко если сам не являешся владельцем яблочной техники.
>>788644 нет, единственный вариант - кодить используя хакинтош, что гемор, и некоторые компоненты не работают на симуляторе (камера, почта), прога просто падает, нужен хотя бы айпод попущеный, желательно иметь мак
>>788655 >что гемор, и некоторые компоненты не работают на симуляторе (камера, почта) У тебя просто неправильный хакинтош. На правильном - работает даже imessage
>>788722 ты понимаешь о чем пишешь? В симуляторе не работает камера, почта и нормально не работает геолокация, ты без девайса это нормально не протестируешь, если надо работать с AVFoundation, прийдется использовать девайс. У меня макбук, а не хакинтош
Сап. Давно ничего не писал на objc, даже сториборды и аутолайауты толком не использовал. Надо запилить простенький говнопроект по типу получи джсон от апи - покажи, отфильтруй список, покажи карточку, бесконечная прокрутка списка. Какие yoba либы сразу подключить к проекту, чтоб удобнее было и веселей? Cocoa Pods, AFNetworking. Стоит ли юзать сториборды или забить и хуярить нибы? Если понадобится кэшировать данные от апи, что лучше - core data или есть что-то получше, со связкой с AFNetworking (когда-то юзал RestKit, но не зашло)?
Сразу извинюсь, что врываюсь с нубскими вопросами. Хочу попробовать написать что-нибудь под iOS, везде натыкаюсь на необходимость билдить на маке. Без железа/хакинтоша/виртуалки никуда?
Не понимаю, блоки не могут что ли возвращать сишные типы данных или как? И еще можно ли передавать в функцию вместо блока указатель на функцию или С++'ные лямда функции? Ньюфаг в обжективе.
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
Видеокурсы:
https://www.coursera.org/specializations/app-development
https://www.coursera.org/specializations/ios-development
https://www.youtube.com/user/AlexSkutarenko
Swift - Swift - это новый язык программирования для разработки приложений на iOS, OS X и watchOS, который сочетает в себе все лучшее от C и Objective-C, при этом нет ограничений в совместимости с C. Swift использует паттерны безопасного программирования и содержит современные функции, которые помогают сделать программирование легким, гибким и увлекательным.
Платина:
Что выбрать? - свой проект - swift, работа - objective-c.
Официальная телеграм конфа треда - https://telegram.me/joinchat/CUVruAJ8ceAgYkfeqe_LcA