Data Collections

Develop In Swift

Урок 2.2 Расширения

Расширения позволяют добавлять функциональность к уже определенному типу. Вы можете использовать расширения для создания новых свойств или методов для стандартных типов Swift, таких как Int, String, Bool и Array, а также для пользовательских типов, которые вы определили для вашего приложения. Расширения также полезны для организации кода в логические блоки, такие как код, необходимый для того, чтобы тип соответствовал протоколу.

Урок 2.3 Практическая анимация

Взгляните на самые популярные iOS-приложения, и вы увидите элегантные, ненавязчивые анимации, которые создают связь с контентом на экране. Когда анимация реализована в нужных местах и в нужные моменты, она может предоставлять обратную связь, усиливать ощущение прямого манипулирования или помогать пользователям визуализировать результаты своих действий. В этом уроке вы узнаете, как использовать класс UIView и замыкания для добавления анимаций, которые улучшают презентацию и функциональность ваших приложений.

Урок 2.4 Работа с Web: HTTP и URL

До этого момента в курсе вы создавали приложения, которые позволяют пользователю создавать данные или использовать данные с их устройства. Но в интернете существует целый мир информации. Как вы можете позволить пользователям получить к ней доступ или отправлять информацию через интернет прямо из вашего приложения?

Урок 2.5 Работа с WEB: декодирование JSON

В прошлом уроке вы узнали, как создавать и отправлять сетевые запросы, используя класс URLSession. Вы также узнали, как формируются URL-адреса и как они могут передавать запросы на веб-сервер. Вы запросили данные у API NASA Astronomy Picture of the Day (APOD), загрузили и распечатали ответ сервера.

Но в каком формате пришел ответ? Многие современные веб-сервисы возвращают данные в формате JavaScript Object Notation (JSON).

Урок 2.6. Работа с Web: Параллелизм

В предыдущем уроке вы узнали, как декодировать JSON в родные типы Swift и пользовательские модельные объекты, как написать свой обработчик завершения для обработки асинхронного кода, и немного о том, как можно добавить код в проект Xcode.

В этом уроке вы возьмете данные, полученные из сетевого запроса, декодируете их и отобразите в своем приложении. Вы также скачаете и установите первое изображение для отображения. Чтобы все это заработало, вы узнаете о системе параллелизма в iOS и как убедиться, что код, обновляющий пользовательский интерфейс, выполняется в правильном месте.

Гайд по проекту: Ресторан

В этом модуле вы узнали о новых инструментах Swift и как отправлять и получать информацию с использованием веб-сервиса API. В этом руководящем проекте вы проверите свои знания на практике. Вы разработаете интерактивное меню для ресторана, которое позволит клиенту просматривать список предложений, добавлять элементы в заказ и отправлять заказ в ресторан. Используя сервер, который вы запустите на своем компьютере, у вас будет возможность изменить опции, описания и изображения, которые возвращаются с API.

Модуль 3 Расширенное Отображение Данных

Вы используете приложения, которые каждый день просматривают коллекции информации. Когда iOS была впервые представлена, табличные представления были основным интерфейсом для просмотра таких данных. Но с тех первых дней многое изменилось.

Урок 3.2 Обобщения Swift

Одним из важных принципов дизайна языка программирования Swift является постепенное раскрытие — практика постепенного введения понятий по мере роста опыта и уверенности пользователя, а не сразу. Например, вы можете использовать Swift как новичок, не понимая ничего о протоколах, хотя используете их каждый раз, когда работаете с базовыми типами, такими как Int или String.

Урок 3.3 Динамические данные

Теперь, когда вы понимаете, как работают обобщения, вы готовы использовать их на практике. Многие API UIKit не используют обобщения, так как они были написаны до того, как Swift стал доминирующим языком в разработке iOS. Некоторые современные API, предназначенные только для Swift, используют обобщения. Они добавляют дополнительный уровень элегантности вашему коду и позволяют реализовать функции, которые были бы сложными или невозможными ранее.

Урок 3.4 Компоновочные макеты

Вы уже использовали компоновочные макеты с collection views в предыдущих уроках, но еще не исследовали все их возможности. Компоновочные макеты для collection views являются мощными инструментами. Они позволяют разбивать дизайн на небольшие компоненты и собирать их в более крупные группы с помощью простого набора правил, а их API достаточно универсален, чтобы охватывать широкий спектр пользовательских интерфейсов для отображения больших коллекций данных.

Урок 3.5 Продвинутые компоновочные макеты

Вы узнали, что collection views являются гибким инструментом для отображения коллекций данных различными способами, и научились создавать базовые списки и сетки с использованием компоновочных макетов. Это отличный старт, но вы можете сделать гораздо больше. В этом уроке вы узнаете, как воспользоваться всеми возможностями компоновочных макетов для создания более богатых интерфейсов, обеспечивающих отличный пользовательский опыт.

Урок 3.6 Локальные уведомления

Уведомления — это отличный способ взаимодействовать с пользователями, даже когда они не используют ваше приложение. Используя фреймворк UserNotifications, вы можете уведомлять пользователей о значимых событиях и предоставлять им возможность реагировать на эти события. Уведомления могут быть запланированы локально и отправлены удалённо. В этом уроке вы научитесь использовать фреймворк UserNotifications для планирования и управления локальными уведомлениями.

Information

Apple, the Apple logo, Apple Books, Apple TV, Apple Watch, Cocoa, Cocoa Touch, Finder, Handoff, HealthKit, iPad, iPad Pro, iPhone, iPod touch, Keynote, Mac, macOS, Numbers, Objective-C, Pages, Photo Booth, Safari, Siri, Spotlight, Swift, tvOS, watchOS, and Xcode are trademarks of Apple Inc., registered in the U.S. and other countries. App Store and iBooks Store are service marks of Apple Inc., registered in the U.S. and other countries. ​
The Bluetooth® word mark and logos are registered trademarks owned by Bluetooth SIG, Inc. and any use of such marks by Apple is under license. ​
IOS is a trademark or registered trademark of Cisco in the U.S. and other countries and is used under license. ​
Other product and company names mentioned herein may be trademarks of their respective companies.