iOs для начинающих. Глава 2. Простые типы и значения
Оглавление
iOs для начинающих. Глава 2. Простые типы и значения
Что такое игровая площадка Swift – Playground?
Запуск кода в игровой площадке
Представление чисел с плавающей точкой
Представление булевых чисел
Использование основных типов данных в площадке playground
Обзор констант и переменных в языке Swift
iOs для начинающих. Глава 2. Простые типы и значения
Теперь, когда Вы совершили короткий тур по среде Xcode в предыдущей главе, рассмотрим язык программирования Swift более подробно.
Сперва рассмотрим Swift Playground – это интерактивная среда, своего рода песочница, где Вы можете писать любой код и мгновенно видеть результаты выполнения кода. Теперь рассмотрим основу основ – как в Swift представлены различные типы данных. Также по ходу изучения материала Вы познакомитесь с такими возможностями языка, как интерфейсы типов и безопасность типов, которые помогут писать лаконичный код и избегать распространенных ошибок. А также выполнению общих операций с типами данных, вывод сообщений в консоль Отладки для помощи Вам в отладке кода.
В конце уже этой главы, Вы сможете написать Вашу первую программу, которая сохраняет и обрабатывает простые числа и слова.
В этой главе будут затронуты следующие темы:
- Playground – Swift песочница
- Обзор типов данных
- Обзор констант и переменных
- Безопасность типов и определение типов
- Обзор операторов
- Использование выражения
print()
Для большей информации о последней версии языка Swift посетите веб сайт https://docs.swift.org/swift-book/
Технические требования
Для того, чтобы Вам выполнить упражнения в этой главе, Вам необходимо следующее:
- Apple Mac компьютер работающий под управлением macOC версий 12 и выше.
- версия XCode 14 и выше(инструкции по ее установке можете посмотреть в главе 1 данной книги)
Исходные коды к данной книги располагаются по адресу https://github.com/timur-gaysin
В следующем разделе Вы создадите новый Playground проект, где вы можете ввести весь код, представленный в этой главе.
Что такое игровая площадка Swift – Playground?
Песочница(мы не будем использовать этот термин, но Вы часто можете его увидеть в переводах или статьях) или игровая площадка Playground – это интерактивная среда для программирования. Вы вводите код в левой панели IDE и видите результаты в правой панели. Это отличная площадка для экспериментов с кодом и изучения системных API.
API – это сокращение от Application Programming Interface – Программный Интерфейс Приложения. Если хотите узнать больше, посетите сайт https://en.wikipedia.org/wiki/API
Создадим новую площадку и изучим ее интерфейс. Следуйте данным шагам:
-
- Создадим новую площадку, запустим Xcode и выберем File | New | Playground в меню XCode
- Появится экран выбора шаблонов. Необходимо выбрать верхнюю вкладку iOs, выбрать пустой(Blank) шаблон и нажать на кнопку Next
- Выберем имя Вашей площадки
SimpleValues
и сохраним в любом месте, где Вы хотите. И нажмем кнопку Create - И теперь у вас откроется новое окно с игровой площадкой на экране.
- Создадим новую площадку, запустим Xcode и выберем File | New | Playground в меню XCode
Как Вы могли заметить, интерфейс игровой площадки гораздо проще, чем у полноценного XCode iOs проекта. Сейчас мы рассмотрим его внимательнее:
- Кнопка навигатора(1) – показывает или скрывает область навигации
- Панель статуса(2) – отображает текущий статус выполнения операции
- Кнопка библиотеки(3) – библиотека с ресурсами и сниппетами кода
- Кнопка инспектора(4) – показывает или скрывает область Инспектора
- Область навигатора(5) – предоставляет быстрый доступ к различным частям Вашего проекта. Навигатор проекта отображается по умолчанию
- Область редактора(6) – Вы пишите свой код здесь
- Область с результатами(7) – щлесь отображаются результаты выполнения Вашего кода
- Кнопка запуска кода(8) – запускает код с выделенной строки
- граница(9) – Эта граница разделяется редактор кода и область результатов выполнения кода. Если вы видите, что результаты отображаются в усеченном виде или слишком часто переносятся между строками, Вы можете растянуть область отображения результатов кода за границу
- Кнопка запуска и паузы(10) – запускает или останавливает код в игровой площадке. В отличии от кнопки запуска кода под цифрой 8 – здесь запускается весь код в проекте
- Область отладки(11) – отображает резульататы команды
print()
- Кнопка отладки(12) – скрывает или показывает область отладки
Вам может показаться что код в игровой площадке сложен в чтении и имеет маленький размер шрифта. В следующем разделе Мы посмотрим, как сделать его больше.
Настраиваем шрифты и цвета
Xcode имеет в своем наборе большое количество опций для настройки среды разработки под Ваш вкус. Вы можете увидеть их в меню Settings… Если Вы считаете что текст в среде имеет маленькие размеры и сложен в чтении, сделайте следующее:
- Выберите в меню Xcode пункт Settings… для отображения окна настроек
- В окне настроек, выберите темы – Themes и выберите Presentation(Light) для того, что установить размер шрифта кода и для того, чтобы сделать его более легким к пониманию.
- Закройте окно настроек и вернитесь к игровой площадке. Обратите внимание, что теперь текст в песочнице стал больше, чем раньше. Вы можете также попробовать другие темы по Вашему усмотрению.
Теперь, когда Вы знаете как настроить шрифты и цвета по Вашему желанию, посмотрим как запускать код в площадке, в следующем разделе.
Запуск кода в игровой площадке
Ваша игровая площадка готова для того, чтобы Вы могли Ваши знания закреплять на практике. В Вашей площадке уже есть код для выполнения, автоматически сгенерированный средой Xcode. Чтобы выполнить его, выполните следующие действия:
- Нажмите на кнопку Play/Stop в нижнем левом углу игровой площадки. Вы увидите надпись “Hello, playground“, отображаемую в области результатов:
Также Вы можете использовать комбинацию клавиш Command + Shift + Return для запуска кода в вашей игровой площадке.
Теперь подготовим игровую площадку для дальнейшего использования – удалим выражение var greeting = "Hello, playground"
в редакторе кода. Теперь после ввода кода из этой главы Вам достаточно всего лишь нажать на кнопку Play/Stop.
Давайте погрузимся в простые типы данных, используемых в Swift, в следующем разделе.
Обзор типов данных
Все языки программирования имеют встроенный в язык функционал для хранения числе, булевые(логические) состояния и слова, и конечно язык Swift здесь не исключение. Даже если Вы профессиональный программист, Вы можете обнаружить для себя, что Swift представляет эти объекты немного по другому, чем другие языки, с которыми Вы знакомы.
Для большой информации о типах данных, посетите сайт https://docs.swift.org/swift-book/LanguageGuide/TheBasics.html
Давайте рассмотрим Swift версии целочисленных чисел, чисел с плавающей точкой, булевых значений и строк, в следующих разделах.
Представление целых чисел
Допустим Вы хотите хранить следующие числа:
- Число ресторанов в городе
- Количество пассажиров в самолете
- Число комнат в отеле
Вы можете в этом случае использовать целочисленные числа, где цифры представлены в виде целых чисел без дробной части(включая отрицательные числа).
Целочисленные числа в Swift имеют тип Int.
Представление чисел с плавающей точкой
Допустим Вы хотите хранить следующее:
- Число Pi(3.14159)
- Абсолютный ноль(-273.15)
Вы должны использовать числа с плавающей точкой, когда Вы используете числа, с дробной частью в Ваших программах.
Типом по умолчанию для чисел с плавающей точкой, в языке программирования Swift является Double. Тип Double представлен 64 битным числом, включая отрицательные значения. Вы также можете использовать тип Float, который представлен 32 битной переменной. Но тип Double является типом по умолчанию в Swift.
Представление булевых чисел
Предположим, Вы хотите сохранить в программе ответы на простые вопросы – да/нет, например
- идет дождь?
- есть свободные места в ресторане?
Для этих задач, вы должны использовать булевы значения.
Язык программирования Swift представляет тип Bool для хранения значений true или false.
Представление строк
Представим, что Вы хотите хранить следующее:
- имя ресторана, например “Bombay Palace“.
- Описание должности, например “Программист” или “Ассистент“
- Тип фруктов, например “банан”
Вы можете использовать Swift тип String, который представляет собой последовательность символов и полностью соответствует стандарту Unicode. Это упрощает отображение различных языков в iOs программах.
Важная информация. Для большей информации о Unicode посетите следующую страницу: https://home.unicode.org/basic-info/faq/
Теперь, когда Вы знаете как в языке программирования Swift представлены основные типы данных, и попробуем поработать с ними в игровой площадке.
Использование основных типов данных в площадке playground
Все что вы вводите в игровой площадке, выполняется и результаты появляются в области вывода результатов. Давайте сначала посмотрим, что произойдет, если мы будем вводить целочисленные значения, числа с плавающей точкой, булевы значения и строки, а потом выполним код. Выполним следующие шаги:
- Введите следующий код в область редактора кода вашего playground:
// SimpleValues 42 -23 3.14159 0.1 -273.15 true false "hello, world" "albatross"
Обратите внимание, что строка, начинающаяся с // – это строка с комментариями кода. Комментарии это отличный способ создания заметок в коде или напоминаний для Вас и игнорируются средой Xcode.
- Нажмите на кнопку Play/Stop для запуска Вашего кода
- Подождите пару секунд. Xcode оценит Ваш код и отобразит следующий результат в области вывода Результатов:
42 -23 3.14159 0.1 -273.15 true false "hello, world" "albatross
Обратите внимание, что комментарии не отображаются в области Вывода результатов.
Превосходно! Вы только что создали и запустили свой первый код в playground. Давайте посмотрим, как хранятся различные данные в следующем разделе.
Обзор констант и переменных в языке Swift
Сейчас, когда Вы узнали о простых типах данных, которые поддерживаются языком Swift. Давайте посмотри как с ними работать и выполнять операции.
Вы можете использовать константы или переменные для хранения данных. Оба из них являются контейнерами для хранения данных. Разница в том, что значение константы может быть установлено всего один раз, и не может быть изменено в дальнейшем. Тогда как значение переменной может быть изменено в любое время.
Вы должны объявить переменные и константы перед их использованием. Константы объявляются с помощью ключевого слово let, а переменные объявляются ключевым словом var.
Давайте теперь посмотрим как работают переменные и константы, реализовав их в игровой площадке. Для этого выполните следующие шаги :
- Добавьте следующий код в вашу площадку, объявив 3 константы:
let theAnswerToTheUltimateQuestion = 42 let pi = 3.14159 let myName = "Ahmad Sahar"
- Нажмите кнопку Play/Stop для запуска. В каждом случае создается контейнер константа, и присвоенное ей значение сохраняется.
Вы могли заметить что каждое имя константы и переменной начинается со строчной буквы, а если имя переменной состоит больше чем из одного слова, то каждое последующее слово начинается с прописной буквы. Этот стиль называется горб верблюда. Вы не обязаны строго придерживаться его, но рекомендуется это делать, так как большинство программистов придерживается именно этого стиля.
Обратите внимание, что последовательность символов, заключенная в двойные кавычки – “Ahmad Sahar“, используется для присвоения значения myName. Она известна как строковый литерал.
- Добавьте следующий код, после объявления констант, чтобы объявить теперь переменные:
var currentTemperatureInCelsius = 27 var myAge = 50 var myLocation = "home"
Как и в случае с константами, создается контейнер и сохраненное в нем значение доступно в дальнейшем.
Обратите внимание, что сохраненные значения отображаются в области вывода Результатов.
- Значение константы не может быть изменено после того, как ей присвоили значение. Чтобы проверить это, добавьте следующий код после объявления переменных:
let isRaining = true isRaining = false
Когда Вы будете вводить вторую строку кода, всплывающее меню отобразит следующие подсказки:
Используйте клавиши up и down для выбора константы isRaining и нажмите клавишу Tab для выбора значения. Это называется автозаполнением и помогает Вам избегать ошибок при вводе кода.
- После того как Вы закончили ввода кода, подождите пару секунд. На второй строке Вы увидите знак красного круга с белой точкой посередине:
Это означает, что в программе присутствует ошибка и Xcode считает, что ее необходимо исправить. Эта ошибка возникает потому что Вы пытаетесь присвоить новое значение константе после того, как Вы уже первоначально присвоили ей значение.
- Нажмите на красный круг для того, чтобы посмотреть на сообщение об ошибке. Вы должны увидеть следующие окно с кнопкой Fix(исправить).
Xcode сообщает нам, что проблема заключается в том, что мы пытаемся присвоить значение константе. и предлагает изменить константу на переменную.
- Нажмите на кнопку Fix
- Вы должны увидеть, что константа isRaining была изменена на переменную:
Поскольку новое значение уже может быть присвоено переменной, после ее создания. ошибка считается устраненной. Однако обратите внимание, что предлагаемое решение средой Xcode может быть совсем не тем, каким Вы его предполагали. По мере получения Вами опыта, как iOs разработчика, Вы сможете сами принимать грамотные решения в плане исправления ошибок.
Если Вы посмотрите на написанный нами код, Вам может стать интересно, как среда Xcode узнает тип хранимых данных в переменной или константе. В следующем разделе Вы познакомитесь поближе и узнаете как это происходит.
Вывод и безопасность типов
В предыдущем разделе, мы определили константы и переменные и потом присвоили им значения. Swift автоматически определяет тип константы или переменной на основе введенного Вами значения. Это называется выведение типа. Вы можете посмотреть тип константы или переменной, нажав на клавишу Option, нажав при этом на саму переменную, Вот как это выглядит в реальности:
- Добавим следующую строку кода в игровую площадку и определим переменную типа String:
let cuisine = "American"
- Нажмите на кнопку Play/Pause для запуска кода
- Удерживая клавишу Option, нажмите на переменной cuisine для того, чтобы определить тип константы. Вы должны увидеть следующее:
Как Вы можете увидеть, тип константы cuisine – String.
Что, если Вы хотите сами установить определенный тип для переменной или константы? В следующем разделе мы рассмотрим этот вопрос.