swift основы разработки приложений под ios и macos pdf

Swift, Основы разработки приложений под iOS, iPadOS и macOS, Усов В., 2021

Swift, Основы разработки приложений под iOS, iPadOS и macOS, Усов В., 2021.

Мечтаете стать iOS-разработчиком. написать собственное приложение и работать в крутой компании? Тогда эта книга для вас!
Язык Swift прост, понятен и отлично подойдет как новичкам, так и опытным программистам. Чтобы начать писать код, вам потребуются только эта книга, компьютер и желание учиться. Все базовые концепции программирования и основы синтаксиса объясняются доступным языком, поэтому если вы никогда раньше не занимались разработкой, то эта книга — отличный старт. Теория чередуется с практическими примерами и кодом — так вы сразу сможете связать абстрактные понятия с реальными ситуациями. В каждой главе вас ждут тесты и домашние задания, которые помогут закрепить материал.
А еще Swift — это дружелюбное сообщество в Telegram, где можно обсуждать проекты и получать поддержку.
Учитесь, создавайте и творите свое будущее!

130473

Обзор Xcode.
Мы начнем изучение программирования на языке Swift со знакомства со средой разработки Xcode.
Xcode — это IDE, то есть среда создания приложений для iOS и macOS (и других продуктов Apple). Это наиболее важный инструмент, который использует разработчик, и он по-настоящему удивительный! Xcode предоставляет широкие возможности, и изучать их следует постепенно, исходя из поставленных и возникающих задач. Внешний вид рабочей среды приведен на рис. 3.

Именно с использованием этого интерфейса разрабатываются любые приложения для «яблочных» продуктов. При изучении Swift на первых этапах вы будете взаимодействовать с иной рабочей областью — рабочим интерфейсом playground-проектов. О нем мы поговорим чуть позже.

Xcode распространяется на бесплатной основе. Это многофункциональное приложение без каких-либо ограничений в своей работе. В Xcode интегрированы: пакет iOS SDK, редактор кода, редактор интерфейса, отладчик и многое другое. Также в него встроены симуляторы iPhone, iPad, Apple Watch и Apple TV. Это значит, что все создаваемые приложения вы сможете тестировать прямо в Xcode (без необходимости загрузки программ на реальные устройства). Подробно изучать состав и возможности данной ГОе мы начнем непосредственно в процессе разработки приложений.

ОГЛАВЛЕНИЕ.
Читателю.
Присоединяйтесь к нам.
Введение.
Подготовка к разработке Swift-приложений.
Часть I БАЗОВЫЕ ВОЗМОЖНОСТИ SWIFT.
Глава 1. Отправная точка.
Глава 2. Фундаментальные типы данных.
Часть II КОНТЕЙНЕРНЫЕ ТИПЫ ДАННЫХ.
Глава 3. Кортежи (Tuple).
Глава 4. Последовательности и коллекции.
Глава 5. Диапазоны (Range).
Глава 6. Массивы (Array).
Глава 7. Множества (Set).
Глава 8. Словари (Dictionary).
Глава 9. Строка — коллекция символов (String).
Часть III ОСНОВНЫЕ ВОЗМОЖНОСТИ SWIFT.
Глава 10. Операторы управления.
Глава 11. Опциональные типы данных.
Глава 12. Функции.
Глава 13. Замыкания (closure).
Глава 14. Дополнительные возможности.
Глава 15. Ленивые вычисления.
Часть IV ВВЕДЕНИЕ В РАЗРАБОТКУ ПРИЛОЖЕНИЙ.
Глава 16. Консольное приложение «Сумма двух чисел».
Глава 17. Консольная игра «Угадай число».
Часть V НЕТРИВИАЛЬНЫЕ ВОЗМОЖНОСТИ SWIFT.
Глава 18. Введение в объектно-ориентированное и протокол-ориентированное программирование.
Глава 19. Перечисления.
Глава 20. Структуры.
Глава 21. Классы.
Глава 22. Свойства.
Глава 23. Сабскрипты.
Глава 24. Наследование.
Глава 25. Контроль доступа.
Глава 26. Псевдонимы Any и AnyObject.
Глава 27. Инициализаторы и деинициализаторы.
Глава 28. Управление памятью в Swift.
Глава 29. Опциональные цепочки.
Глава 30. Протоколы.
Глава 31. Расширения.
Глава 32. Протокол-ориентированное программирование.
Глава 33. Разработка приложения в Xcode Playground.
Глава 34. Универсальные шаблоны (Generic).
Глава 35. Обработка ошибок.
Глава 36. Нетривиальное использование операторов.
Часть VI ВВЕДЕНИЕ В МОБИЛЬНУЮ РАЗРАБОТКУ.
Глава 37. Разработка приложения с использованием UIKit.
Глава 38. Разработка приложения с использованием SwiftUI.
Глава 39. Паттерны проектирования.
Заключение.

Скачать pdf
Ниже можно купить эту книгу по лучшей цене со скидкой с доставкой по всей России. Купить эту книгу

Источник

Swift, Основы разработки приложений под iOS, iPadOS и macOS, Усов В., 2020

Swift, Основы разработки приложений под iOS, iPadOS и macOS, Усов В., 2020.

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

130472

Компьютер Mac.
Прежде чем приступить к разработке программ на языке Swift в macOS, вам потребуется несколько вещей. Для начала понадобится компьютер iMac, MacBook, Mac mini или Mac Pro с установленной операционной системой macOS. Лучше, если это будет macOS Mojave (10.14). В этом случае вы сможете использовать последнюю версию среды разработки Xcode и языка Swift.

Это первое и базовое требование связано с тем, что среда разработки приложений Xcode создана компанией Apple исключительно с ориентацией на собственную платформу.

Если вы ранее никогда не работали с Xcode, то будете поражены широтой возможностей данной среды и необычным подходом к разработке приложений. Естественно, далеко не все возможности рассмотрены в книге, поэтому я советую вам в дальнейшем самостоятельно продолжить ее изучение.

ОГЛАВЛЕНИЕ.
Читателю.
Введение.
О Swift.
О книге.
О домашних заданиях.
Исправления в пятом издании.
Для кого написана книга.
Что нужно знать, прежде чем начать читать.
Структура книги.
Условные обозначения.
От издательства.
Часть I. Подготовка к разработке Swift-приложений.
Глава 1. Подготовка к разработке в macOS.
Глава 2. Подготовка к разработке в Linux.
Глава 3. Подготовка к разработке в Windows.
Часть II. Базовые возможности Swift.
Глава 4. Отправная точка.
Глава 5. Фундаментальные типы дан.
Часть III. Контейнерные типы данных.
Глава 6. Кортежи (Tuple).
Глава 7. Последовательности и коллекции.
Глава 8. Диапазоны (Range).
Глава 9. Массивы (Array).
Глава 10. Наборы (Set).
Глава 11. Словари (Dictionary).
Глава 12. Строка — коллекция символов (String).
Часть IV. Основные возможности Swift.
Глава 13. Операторы управления.
Глава 14. Опциональные типы данных.
Глава 15. Функции.
Глава 16. Замыкания (closure).
Глава 17. Дополнительные возможности.
Глава 18. Ленивые вычисления.
Часть V. Введение в разработку приложений.
Глава 19. Консольное приложение «Сумма двух чисел».
Глава 20. Консольная игра «Отгадай число».
Часть VI. Нетривиальные возможности Swift.
Глава 21. Введение в объектно-ориентированное программирование.
Глава 22. Перечисления.
Глава 23. Структуры.
Глава 24. Классы.
Глава 25. Свойства.
Глава 26. Сабскрипты.
Глава 27. Наследование.
Глава 28. Псевдонимы Any и AnyObject.
Глава 29. Инициализаторы и деинициализаторы.
Глава 30. Удаление экземпляров и ARC.
Глава 31. Опциональные цепочки.
Глава 32. Расширения.
Глава 33. Протоколы.
Глава 34. Разработка приложения в Xcode Playground.
Глава 35. Универсальные шаблоны.
Глава 36. Обработка ошибок.
Глава 37. Нетривиальное использование операторов.
Часть VII. Введение в мобильную разработку.
Глава 38. Разработка приложения под iOS.
Глава 39. Паттерны проектирования при разработке в Xcode.
Заключение.

Скачать pdf
Ниже можно купить эту книгу по лучшей цене со скидкой с доставкой по всей России. Купить эту книгу

Источник

Swift основы разработки приложений под ios и macos pdf

LKt699JAPpdHu92AhRr3ujdZVHkcmz9tRshYG931kZlh

LKt699JAPpdHu92AhRr3ujdZVHkcmz9tRshYG931kZlh

ITc | сообщество программистов запись закреплена

Swift. Основы разработки приложений под iOS

Автор: Василий Усов
Год: 2016

Данная книга содержит исчерпывающую информацию для всех желающих научиться програм-мировать на языке Swift с целью создания собственных iOS-приложений (а также OS X-, watchOS- и tvOS-приложений). В ходе чтения книги вы встретите не только теоретические сведения, но и большое количество практических примеров и заданий, выполняя которые вы углубите свои знания в изучаемом материале. Несмотря на то что вам предстоит пройти большой путь, это будет полезный и очень важный опыт. Книга не показывает, как писать iOS-приложе-ния, она предназначена для изучения самого языка программирования Swift. Книга даст вам возможность освоить новый язык и в скором времени приступить к написанию собственных приложений для App Store или Mac App Store. Изучив язык, в дальнейшем вы сможете самостоятельно выбрать, для какой платформы создавать программы — для iOS, OS X, tvOS или watchOS. Примеры кода в данной книге соответствуют Swift версии не ниже 2.1, iOS версии не ниже 9.1 и Xcode версии не ниже 7.1. Если у вас более новые версии, не беспокойтесь, весь описанный материал с большой долей вероятности будет без каких-либо ошибок работать и у вас.

Источник

Книга «Swift. Основы разработки приложений под iOS и macOS. 4-е изд. дополненное и переработанное»

4d8eo0yirfeyty1gtuiuyj87zhk Данная книга содержит исчерпывающую информацию для всех желающих научиться программировать на замечательном языке Swift с целью создания собственных iOS-приложений (в том числе и для macOS, tvOS и watchOS) или программ для операционной системы Linux. В ходе чтения книги вы встретите не только теоретические сведения, но и большое количество практических примеров и заданий, выполняя которые вы углубите свои знания изучаемого материала.

В ходе долгого и плодотворного общения со многими из вас была выработана масса идей, благодаря которым новое издание стало по-настоящему полезным. В сравнении с предыдущим изданием данная книга содержит следующие изменения и дополнения:

— Весь материал актуализирован в соответствии со Swift версии 4.1 и Xcode 9.
— Добавлено большое количество нового учебного материала, в частности, связанного с практической разработкой приложений под iOS.
— Доработана глава, посвященная типу данных String.
— Учтены пожелания и замечания пользователей по оформлению и содержанию.
— Исправлены найденные опечатки. Выделен материал, предназначенный для начинающих программистов, в отдельные блоки, чтобы позволить читателям с опытом разработки на других языках не отвлекаться на ненужный им материал.

Структура книги

Книга состоит из пяти больших частей и одного приложения:

Часть I. Подготовка к разработке Swift-приложений. В первой части вы начнете ваше путешествие в мир Swift, выполните самые важные и обязательные шаги, предшествующие началу разработки собственных приложений. Вы узнаете, как завести собственную учетную запись Apple ID, как подключиться к программе apple-разработчиков, где взять среду разработки Swift-приложений, как с ней работать.

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

Часть III. Основные средства Swift. Третья часть фокусируется на рассмотрении и изучении наиболее простых, но очень интересных средств Swift. О некоторых из них (например, о кортежах) вы, возможно, никогда не слышали, другие (например, массивы) вы, вероятно, использовали и в других языках.

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

Часть V. Основы разработки приложений. В конце долгого и увлекательного пути изучения языка и создания некоторых простых приложений в Xcode Playground вам предстоит окунуться в мир разработки полноценных программ. Из этой части вы узнаете основы создания интерфейсов и работы программ в Xcode «под капотом». Все это в будущем позволит вам с успехом осваивать новый материал и создавать прекрасные проекты.

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

Отрывок из книги. 29.3. Ограничения типа

Иногда бывает полезно указать определенные ограничения, накладываемые на типы данных универсального шаблона. В качестве примера мы уже рассматривали тип данных Dictionary, где для ключа существует требование: тип данных должен соответствовать протоколу Hashable.

Универсальные шаблоны позволяют накладывать определенные требования и ограничения на тип данных значения. Вы можете указать список типов, которым должен соответствовать тип значения. Если элементом этого списка является протокол (который также является типом данных), то проверяется соответствие типа значения данному протоколу; если типом является класс, структура или перечисления, то проверяется, соответствует ли тип значения данному типу.

Для определения ограничений необходимо передать перечень имен типов через двоеточие после заполнителя имени типа. Реализуем функцию, производящую поиск элемента в массиве и возвращающую его индекс (листинг 29.7).

ПРИМЕЧАНИЕ Для обеспечения функционала сравнения двух значений в Swift существует специальный протокол Equatable. Он обязывает поддерживающий его тип данных реализовать функционал сравнения двух значений с помощью операторов равенства (==) и неравенства (!=). Другими словами, если тип данных поддерживает этот протокол, то его значения можно сравнивать между собой.

29.4. Расширения универсального типа

Swift позволяет расширять описанные универсальные типы. При этом имена заполнителей, использованные в описании типа, могут указываться и в расширении.
Расширим описанный ранее универсальный тип Stack, добавив в него вычисляемое свойство, возвращающее верхний элемент стека без его удаления (листинг 29.8).

Свойство topItem задействует заполнитель имени типа T для указания типа свойства. Данное свойство является опционалом, так как значение в стеке может отсутствовать. В этом случае возвращается nil.

29.5. Связанные типы

При определении протокола бывает удобно использовать связанные типы, указывающие на некоторый, пока неизвестный, тип данных. Связанный тип позволяет задать заполнитель типа данных, который будет использоваться при заполнении протокола. Фактически тип данных не указывается до тех пор, пока протокол не будет принят каким-либо объектным типом. Связанные типы указываются с помощью ключевого слова associatedtype, за которым следует имя связанного типа.

Определим протокол Container, использующий связанный тип ItemType (листинг 29.9).

Протокол Container (контейнер) может быть задействован в различных коллекциях, например в описанном ранее типе коллекции Stack. В этом случае тип данных, используемый в свойствах и методах протокола, заранее неизвестен.

Для решения проблемы используется связанный тип ItemType, который определяется лишь при принятии протокола типом данных. Пример принятия протокола к исполнению типом данных Stack представлен в листинге 29.10.

Так как тип Stack теперь поддерживает протокол Container, в нем появилось три новых элемента: свойство, метод и сабскрипт. Ключевое слово typealias указывает на то, какой тип данных является связанным в данном объектном типе.

ПРИМЕЧАНИЕ Обратите внимание на то, что при описании протокола используется ключевое слово associatedtype, а при описании структуры — typealias.

Так как заполнитель имени использован в качестве типа аргумента item свойства append и возвращаемого значения сабскрипта, Swift может самостоятельно определить, что заполнитель T указывает на тип ItemType, соответствующий типу данных в протоколе Container. При этом указывать ключевое слово associatedtype не обязательно: если вы его удалите, то тип продолжит работать без ошибок.

Для Хаброжителей скидка 20% по купону — Swift

Источник

Книга «Swift. Основы разработки приложений под iOS, iPadOS и macOS. 6-е изд. дополненное и переработанное»

По сравнению с предыдущим изданием эта книга содержит следующие изменения и дополнения:

Формат книги изменен (теперь она больше и толще).
Учебный материал актуализирован в соответствии со Swift 5.3 и Xcode 12.
Переписаны и обновлены большинство глав в книге.
Добавлен новый материал, который ранее не входил в книгу:

Обновлены графические материалы (схемы, рисунки, графики и скриншоты).

Исправлены найденные опечатки и учтены пожелания и замечания читателей по оформлению и содержанию.

Вы уже начали путешествие в мир Swift. Совсем скоро вы выполните первые обязательные шаги перед разработкой собственных приложений. Вы узнаете, как завести собственную учетную запись Apple ID, как подключиться к программе Apple-разработчиков, где взять среду разработки Swift-приложений и как с ней работать.

Весь последующий материал книги разделен на шесть частей:

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

Часть II. Контейнерные типы данных. Что такое последовательности и коллекции и насколько они важны для создания ваших программ? В этой части книги вы познакомитесь с наиболее важными элементами языка программирования.

Часть III. Основные возможности Swift. Третья часть фокусируется на рассмотрении и изучении наиболее простых, но очень интересных средств Swift, позволяющих управлять ходом выполнения приложений.

Часть IV. Введение в разработку приложений. Эта часть посвящена изучению основ среды разработки Xcode, а также созданию двух первых консольных приложений.

Часть V. Нетривиальные возможности Swift. В пятой части подробно описываются приемы работы с наиболее мощными и функциональными средствами Swift. Материал этой части вы будете использовать с завидной регулярностью при создании собственных приложений в будущем. Также здесь вас ждет большая практическая работа — создание первого интерактивного приложения в Xcode Playground.

Часть VI. Введение в iOS-разработку. В конце долгого и увлекательного пути изучения языка и создания простых приложений вам предстоит окунуться в мир разработки полноценных программ. Из этой части вы узнаете основы создания интерфейсов и работы программ в Xcode «под капотом». Все это в будущем позволит вам с успехом осваивать новый материал и создавать прекрасные проекты.

Инициализаторы и деинициализаторы

Инициализатор (конструктор) — это специальный метод, выполняющий подготовительные действия при создании экземпляра объектного типа данных. Инициализатор срабатывает при создании экземпляра, а при его удалении вызывается деинициализатор.

27.1. Инициализаторы

Инициализатор выполняет установку начальных значений хранимых свойств и различных настроек, которые нужны для использования экземпляра.

При реализации собственных типов данных во многих случаях не требуется создавать собственный инициализатор, так как классы и структуры имеют встроенные инициализаторы:

Пустой инициализатор срабатывает без ошибок только в том случае, если у класса отсутствуют свойства или у каждого свойства указано значение по умолчанию.
Для опциональных типов данных значение по умолчанию указывать не требуется, оно соответствует nil.

Инициализаторы класса и структуры, производящие установку значений свойств, называются назначенными (designated). Вы можете разработать произвольное количество назначенных инициализаторов с отличающимся набором параметров в пределах одного объектного типа. При этом должен существовать хотя бы один назначенный инициализатор, производящий установку значений всех свойств (если они существуют), и один из назначенных инициализаторов должен обязательно вызываться при создании экземпляра. Назначенный инициализатор не может вызывать другой назначенный инициализатор, то есть использование конструкции self.init() запрещено.

Инициализаторы наследуются от суперкласса к подклассу.

Единственный инициализатор, который может вызывать назначенный инициализатор, — это инициализатор производного класса, вызывающий инициализатор родительского класса для установки значений наследуемых свойств. Об этом мы говорили довольно подробно, когда изучали наследование.

Инициализатор может устанавливать значения констант.

Внутри инициализатора необходимо установить значения свойств класса или структуры, чтобы к концу его работы все свойства имели значения (опционалы могут соответствовать nil).

Вспомогательные инициализаторы

Помимо назначенных, в Swift существуют вспомогательные (convenience) инициализаторы. Они являются вторичными и поддерживающими. Вы можете определить вспомогательный инициализатор для проведения настроек и обязательного вызова одного из назначенных инициализаторов. Вспомогательные инициализаторы не являются обязательными для их реализации в типе. Создавайте их, если это обеспечивает наиболее рациональный путь решения поставленной задачи.

Синтаксис объявления вспомогательных инициализаторов не слишком отличается от синтаксиса назначенных.

Вспомогательный инициализатор объявляется с помощью модификатора convenience, за которым следует ключевое слово init. Данный тип инициализатора также может принимать входные аргументы и устанавливать значения для свойств.

В теле инициализатора обязательно должен находиться вызов одного из назначенных инициализаторов.

Вернемся к иерархии определенных ранее классов Quadruped, Dog и NoisyDog. Давайте перепишем класс Dog таким образом, чтобы при установке он давал возможность выводить на консоль произвольный текст. Для этого создадим вспомогательный инициализатор, принимающий на входе значение для наследуемого свойства type (листинг 27.1).

В результате при создании нового экземпляра класса Dog вам будет предложено выбрать один из двух инициализаторов: init() или init(text:). Вспомогательный инициализатор вызывает назначенный и выводит текст на консоль.

Вспомогательный инициализатор может вызывать назначенный через другой вспомогательный инициализатор.

Наследование инициализаторов

Наследование инициализаторов отличается от наследования обычных методов суперкласса. Есть два важнейших правила, которые необходимо помнить:

Отношения между инициализаторами

В вопросах отношений между инициализаторами Swift соблюдает следующие правила:

image loader

Здесь изображен суперкласс с одним назначенным и двумя вспомогательными инициализаторами. Один из вспомогательных инициализаторов вызывает другой, который, в свою очередь, вызывает назначенный. Также изображен подкласс, имеющий два собственных назначенных инициализатора и один вспомогательный.

Вызов любого инициализатора из изображенных должен в итоге вызывать назначенный инициализатор суперкласса (левый верхний блок).

Проваливающиеся инициализаторы

В некоторых ситуациях бывает необходимо определить объектный тип, создание экземпляра которого может закончиться неудачей, вызванной некорректным набором внешних параметров, отсутствием какого-либо внешнего ресурса или иным обстоятельством. Для этой цели служат проваливающиеся (failable) инициализаторы. Они способны возвращать nil при попытке создания экземпляра. И это их основное предназначение.

Для создания проваливающегося инициализатора служит ключевое слово init? (со знаком вопроса), который говорит о том, что возвращаемый экземпляр будет опционалом или его не будет вовсе.

В теле инициализатора должно присутствовать выражение return nil.

Рассмотрим пример реализации проваливающегося инициализатора. Создадим класс, описывающий сущность «прямоугольник». При создании экземпляра данного класса необходимо контролировать значения передаваемых параметров (высота и ширина), чтобы они обязательно были больше нуля. При этом в случае некорректных значений параметров программа не должна завершаться с ошибкой.

Для решения данной задачи используем проваливающийся инициализатор (листинг 27.2).

Инициализатор принимает и проверяет значения двух параметров. Если хотя бы одно из них меньше или равно нулю, то возвращается nil. Обратите внимание на то, что, прежде чем вернуть nil, инициализатор устанавливает значения всех хранимых свойств.

В классах проваливающийся инициализатор может вернуть nil только после установки значений всех хранимых свойств. В случае структур данное ограничение отсутствует.

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

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

Вы можете использовать проваливающийся инициализатор для выбора подходящего члена перечисления, основываясь на значениях входных аргументов. Рассмотрим пример из листинга 27.3. В данном примере объявляется перечисление TemperatureUnit, содержащее три члена. Проваливающийся инициализатор используется для того, чтобы вернуть член перечисления, соответствующий переданному параметру, или nil, если значение параметра некорректно.

При создании экземпляра перечисления в качестве входного параметра symbol передается значение. На основе переданного значения возвращается соответствующий член перечисления.

У перечислений, члены которых имеют значения, есть встроенный проваливающийся инициализатор init?(rawValue:). Его можно использовать без определения в коде (листинг 27.4).

Члены перечисления TemperatureUnit имеют значения типа Character. В этом случае вы можете вызвать встроенный проваливающийся инициализатор, который вернет член перечисления, соответствующий переданному значению.

Альтернативой инициализатору init? служит оператор init. Разница в них заключается лишь в том, что второй возвращает неявно извлеченный экземпляр объектного типа, поскольку для работы с ним не требуется дополнительно извлекать опциональное значение. При этом все еще может возвращаться nil.

Для Хаброжителей скидка 25% по купону — Swift

По факту оплаты бумажной версии книги на e-mail высылается электронная книга.

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • swift основы разработки приложений под ios ipad os и mac os
  • swift основы разработки приложений под ios 6 издание