Swift: быстрый старт. Т.В. Гурьянова, С.В. Анищенко

Запустите он-лайн компилятор через интернет либо загрузите XCode.

Бесплатный онлайн REPL для Swift: http://swiftstub.com или
IBM Swift Sandbox: https://swiftlang.ng.bluemix.net/#/repl

Как через XCODE работать со swift — см. видео:

Попробуйте выполнить с помощью компилятора следующую команду:

print(«Hello, world!»)

Используйте let для создания констант и var для объявления переменных

let maximumNumberOfLoginAttempts = 10

var currentLoginAttempt = 0

var x = 0.0, y = 0.0, z = 0.0

Если вы собираетесь хранить в памяти программы какие-то данные, которые не собираетесь менять, то всегда используйте

let

Можно явно указать, какого типа будет переменная:

swift2

Если вы попробуете изменить значение, константы, то компилятор выдасть сообщение об ошибке:

let languageName = «Swift»

languageName = «Swift++»

// this is a compile-time error — languageName cannot be changed — ошибка: содержимое «languageName» нельзя менять

print(friendlyWelcome)

// Prints «Bonjour!»

Printing Constants and Variables

Литература

на русском языке
на английском языке

Дальнейшее изучение языка рекомендуем проходить по этим двум книгам от Apple.
На основе их содержания программа может иметь примерно такой вид:


* Введение
Из секции Welcome to Swift, возможно The Basics.
Катко об истории языка, его заявленных характеристиках (скорость, безопасность, статичность и т.п.),
сферах применения, синтаксических особенностях.

* Базовые вещи (The basics)
Многие вещи схожи с другими языками, достаточно просто упомянуть (основные типы данных).
Обратить внимание можно на:
— Константы и переменные
— Статическая типизация и автоматическое определение типов (Type safety and type inference)
— Type aliases
— Tuples
— Опциональные типы (Optionals)

* Базовые операторы (Basic operators)
— Быстро пройтись по операторам – здесь всё должно быть знакомо по опыту других языков
— Из особенностей: Nil-Coalescing ?? оператор – подробнее при изучении опциональных типов
— Оператор диапазона (range operator)

* Строки
Можно пройтись быстро, делая упор на распространенные операции над строками (распечатка, конкатенация, интерполяция, изменение и т.п.), не вдаваясь в подробности работы с Unicode и спец символами.

* Коллекции
— Массивы
— Словари
— Множества (о множествах можно вкратце)

* Порядок выполнения (Control flow)
— Многое должно быть знакомо по другим языкам (if, while, for, …)
— for-in конструкция
— switch – есть важные отличия от других языков, гораздо более мощный инструмент, позволяющий осуществлять pattern matching.
— value bindings, where, compound cases внутри switch

* Функции и замыкания (Functions, closures)

* Перечисления (Enumerations)
— Мощная и важная составляющая языка

* Классы и структуры
— В каких случаях что использовать?

* Свойства (Properties)

* Методы (Methods)

* Работа с классами: наследование, инициализация, деинициализация

* Автоматический подсчет ссылок (automatic reference counting)
— Важная тема в Swift (!)

* Optional chaining

* Обработка ошибок с throw/try/catch

* Расширения (extensions)

* Протоколы (Protocols)
— Важная тема в Swift (!)

* Обобщенное программирование (Generics)
нужно разбирать побольше примеров по ходу
(из самой книги или с готовыми приложениями-примерами из интернета, пронизывающие сразу несколько тем)

Приложения

Видеозапись одного из мастер-классов:

Один из проектов, выполненного учеником одной из средних школ Лос-Анджелоса Махдияром Бахреманом, содержащий ошибку: https://drive.google.com/open?id=0B4icNOfw8DwUMXNTeHc2Y0g2ZzAMathApp.zip
Вот видео с решением проблемы, записанное Сергеем Анищенко:

И дополнительно, его же, инструкции как сделать интерфейс адаптивным:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>