В данной статье разберем, как скрывать клавиатуру по нажатию на вьюху от самых основ до реализации в одну строчку или совсем без кода.
Рубрика «swift» - 39
Тап жест для скрытия клавиатуры в iOS (Swift 3)
2016-12-26 в 8:53, admin, рубрики: iOS, ios development, keyboard, swift, tap gesture, разработка мобильных приложений, разработка под iOSAppCode 2016.3: поддержка Swift 3, новые настройки форматирования, улучшения быстродействия и многое другое
2016-12-23 в 10:41, admin, рубрики: appcode, create from usage, iOS, objective-c, osx, swift, Блог компании JetBrains, мобильная разработка, разработка мобильных приложений, рефакторингиПривет!
Совсем недавно вышел AppCode 2016.3, и в этом посте мы расскажем о самых интересных изменениях в нем.
Мобильный банк для iOS: добавляем блочную архитектуру к Cocoa MVC
2016-12-22 в 20:40, admin, рубрики: ios development, iOS разработка, swift, архитектура, мобильный банк, ооп, Проектирование и рефакторинг, разработка мобильных приложений, разработка под iOSЕсли вы пишете приложение мобильного банка для iOS, какие у вас приоритеты? Думаю, их два:
- Надёжность;
- Скорость внесения изменений.
Ситуация такова, что нужно уметь вносить изменения (и в частности выкатывать новые банковские продукты) действительно быстро. Но при этом не скатываться в индусокод и копипаст (см. пункт 1). Всё это при том, что приложение действительно огромное по функционалу, по крайней мере в задумке (банки хотят намного больше, чем умеют). Соответственно, во многих случаях это проекты на десятки человеко-лет. Те, кто участвовал в таких проектах, уже наверно поняли, что задача нетривиальная, и школьные знания тут не помогут.Читать полностью »
Разгоняем сборку Swift проекта в Xcode
2016-12-16 в 6:56, admin, рубрики: iOS, swift, xcode, Программирование, разработка мобильных приложений
Статья о том как починить инкрементальную компиляцию в Xcode для Swift проектов и ускорить build phases для Cocoapods и Carthage, ничего не поломав.
Небольшой спойлер: на трех разных проектах получилось сократить время инкрементальной сборки в 9 раз!
Туториал несет сугубо практический характер с минимумом воды. Обязательно к прочтению для действующих iOS разработчиков.
Использование паттерна SchedulableObject для выделения бизнес-логики в отдельный поток
2016-12-13 в 11:55, admin, рубрики: mail.ru, SchedulableObject, swift, Анализ и проектирование систем, Блог компании Mail.Ru Group, разработка мобильных приложений, разработка под iOS
Интерфейс мобильного приложения — это лицо продукта. Чем более отзывчив интерфейс, тем больше радости приносит продукт. Однако удовлетворённость от использования приложения зависит прежде всего от объёма его функций. По мере увеличения количества и сложности задач они требуют всё больше и больше времени. Если архитектура приложения предполагает, что все они выполняются в главном потоке, то задачи бизнес-логики начинают конкурировать за время с задачами отрисовки интерфейса. При таком подходе рано или поздно обязательно находится сценарий, исполнение которого приводит к залипанию приложения. Для борьбы с этой напастью существует три принципиально разных подхода:
- Оптимизация алгоритмов и структур данных, вовлечённых в исполнение проблемного сценария.
- Вынос проблемного сценария из главного потока.
- Вынос из главного потока всех функций приложения, за исключением собственно рендеринга пользовательского интерфейса.
Паттерн SchedulableObject позволяет аккуратно реализовать третий сценарий. Под катом рассматриваются его части с примерами реализации на Swift, а также преимущества и недостатки по сравнению с первыми двумя подходами.
Читать полностью »
Тюнинг Swift компилятора. Часть 2
2016-12-10 в 17:43, admin, рубрики: iOS, swift, xcode, Программирование, разработка мобильных приложений, разработка под iOS
Продолжение исследования способов ускорить компиляцию Swift.
Издевательство над семантическим анализатором и неожиданные настройки проекта.
Ссылка на первую часть для тех, кто пропустил.
Скорость работы Vapor по сравнению с другими веб-фреймворками
2016-12-07 в 1:49, admin, рубрики: backend, rest, swift, vapor, сравнениеПравда ли, что Vapor на самом деле такой быстрый и безопасный, как говорят его авторы? Сегодня мы посмотрим на скорость работы Swift в серверной части вашего приложения в сравнении с Ruby, PHP, JS, Python, Java, C#, Go!
Тюнинг Swift компилятора. Часть 1
2016-12-06 в 19:10, admin, рубрики: iOS, swift, xcode, разработка под iOS, Разработка под OS X
Обзор Swift 3 компилятора и способы его ускорить. Часть 1.
Развенчание существующих мифов. Мнение о проблемах autocompletion в Xcode.
Vapor — быстрый и безопасный REST на Swift?
2016-12-06 в 11:43, admin, рубрики: rest, server-side, swift, vaporЯ как iOS разработчик всегда хотел получить возможность окунуться в мир бэкенда, не прибегая к изучению других языков. Теперь благодаря Vapor мои мечты сбылись и каждый желающий имеет возможность использовать один язык на сервере и клиенте.
Переходим на Swift 3 с помощью миграционного «робота» в Xcode 8.1 и 8.2
2016-12-03 в 13:00, admin, рубрики: iOS разработка, swift, swift 2, swift 3, Xcode 8.1, Xcode 8.2, мобильные приложения ios разработка, Программирование, разработка мобильных приложений, разработка под iOS, метки: swift 2
Уже известно, что Xcode 8.2
будет последним релизом, который поддерживает переходную версию Swift 2.3
. Поэтому нужно срочно подумать о миграции на Swift 3
.
Я хочу поделиться некоторым опытом такой миграции на примере приложений, связанных со стэнфордским курсом «Developing iOS 9 Apps with Swift», как демонстрационных (их 12), так и полученных в результате выполнения Заданий этого обучающего курса (их 6 с вариантами). Они все разной сложности, но там есть и рисование, и многопоточность, и показ изображений с помощью ScrollView
, и работа с сервером Twitter, и база данных Core Data, и работа с облачным сервисом Cloud Kit, и карты Map Kit. И все это было написано на Swift 2.2
(stanford.edu), а мне было необходимо перевести все приложения на Swift 3
. Конспект лекций стэнфордского курса на русском языке можно найти на сайте «О стэнфордских лекциях», а код — для Swift 2.3 на Github и для Swift 3 на Github.
Читать полностью »