Туториалы

Будучи iOS разработчиком, я работал в нескольких проектах без дизайнера, и это, надо сказать, очень тяжело. Но в процессе работы я понял, что для такого рода проектов, даже если вы работаете без дизайнера, дизайн очень важен — особенно сами итерации по дизайну. Давайте рассмотрим этот вопрос, ведь клиенты не всегда знают, чего они хотят. Погружение […]

Continue Reading

Замыкания в Swift похожи на блоки в C и Objective-C. Замыкания являются объектами первого класса, так что они могут быть встроены и переданы (как и блоки в Objective-C). В Swift функции — это просто особый вид замыканий. Определение функции: Вы определяете функцию с помощью ключевого слова func. Функции могут взять и не вернуть ничего, или […]

Continue Reading

Даже если вы уже создали множество iOS приложений, или если это ваш первый опыт в их создании, вы, несомненно, познакомитесь с новыми интересными возможностями или сделаете ваши приложения еще лучше. Помимо улучшения вашего приложения, добавляя какие-то новые возможности, вы должны познакомиться еще с тем, что должны знать все хорошие разработчики приложений — это … как «инструментировать» собственный код! […]

Continue Reading

А вы знали, что NB (Navigation Bar) можно менять? В этом небольшом туториале мы с вами посмотрим как можно поменять фоновый цвет, цвет текста и как можно поместить изображение вместо заголовка в наш NB. Создайте новый проект и назовите его CustomNavigationBar. Убедитесь, что в качестве языка стоит swift и в качестве устройства iPhone. У вас […]

Continue Reading

Вплоть до iOS 5 Google Maps являлись неотъемлемой частью iOS и использовались всеми iOS устройствами. С выходом iOS 6 в 2012 году компания Apple приняла решение и заменила Google Maps внутренним собственным двигателем картографирования. Всего несколько месяцев спустя Google выпустила свое собственное автономное приложение Google Maps для iOS, а также SDK Google Maps для разработчиков под iOS. […]

Continue Reading

Туториал по Grand Central Dispatch (GCD) в Swift: часть вторая. Добро пожаловать во вторую и заключительную часть данной серии туториалов по Grand Central Dispatch! В первой части вы узнали о согласованности, потоках и как именно работает GCD. Вы сделали потокобезопасный синглтон PhotoManager для чтения и записи фотографий с помощью комбинации dispatch_barrier_async и dispatch_sync. В дополнение […]

Continue Reading

В этом уроке мы создадим приложение, которое позволяет играть с фигурами, перемещением, масштабированием и вращением. Мы будем работать с UIGestureRecognizer и UIBezierPaths. Конечный результат будет выглядеть следующим образом: Распознаватель прикосновений Для начала создайте новый Single View Application. Убедитесь, что в качестве языка выбран Swift и Universal во вкладке Devices (устройства). Приложение работает лучше всего на […]

Continue Reading

Сила перечислений (энумов) в Swift Перечисления, или энумы, являются символическим способом представить тип «один из». В этой статье мы изучим ту гибкость, которую перечисления в Swift привносят в таблицы, и как они могут упростить и сделать нагляднее наш код. Думаю, что не будет ошибкой сказать, что птица может быть одной из следующих: Galah (розовый какаду), Kookaburra (Кукаберра) или […]

Continue Reading

Несмотря на то, что Grand Central Dispatch (или GCD для краткости) уже какое-то время доступен, не каждый знает, как можно получить от него максимальную пользу. Это и понятно, ведь параллельность — это не просто, а GCD API на основе языка C может показаться набором заостренных уголков, тыкающих гладкий мир Swift.В этом туториале, состоящем из двух частей, вы […]

Continue Reading

Когда iOS приложение устанавливается на каком-то устройстве, создается структура папок, в том числе tmp каталог для хранения временных данных. В этом уроке мы научимся управлять файлами в этом tmp каталоге, а именно создавать их, читать и удалять. Этот туториал написан на iOS 9.1 и Xcode 7.1. Откройте Xcode и создайте Single View Application. Назовите проект […]

Continue Reading

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: