Методичка по свифт от apple

Учебник Swift — разработка приложения для iOS8 [Часть 1, Hello World!]

Предисловие

Недавно Apple представила общественности достаточно важное изменение в разработке iOS приложений, анонсировав новый язык программирования Swift. Я принял решение: изучая этот язык пошагово, я буду в своих статьях рассказывать обо всём, что мне удалось найти. Это лишь первый пост из многих на эту тему, но я надеюсь, что вы решите изучать язык вместе со мной!

Весьма вероятно, что многие примеры кода, представленные в постах, будут позже изменены. Это отчасти потому, что мой стиль программирования – написать сейчас, чтобы проверить идею, а потом заняться рефакторингом, а также отчасти это потому, что для меня (как и для многих других) Swift – абсолютно новый язык программирования. Так что, скорее всего, как только я узнаю что-нибудь новое, ход этих уроков будет меняться.

Итак, я собираюсь начать с довольно простого приложения. Также я буду объяснять, как работает код. Готовы? Поехали…

UPD: Статья написана в соответствии с изменениями в XСode 6 Beta 5

Основы

Swift отменяет использование стандарта объявления переменных, который использует имя типа перед объявлением переменной, вместо этого для объявления, как и в JavaScript, применяется ключевое слово var .
Так, например, эта строка Objective-C

в Swift будет заменена на эту

Для объявления констант используется ключевое слово let

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

Автор перевода рекомендует пользоваться вторым примером объявления констант. Довольно показательный пример описан в официальной документации:

В этом автор перевода солидарен с Helecta (см. соответствующий пост)

И массивы, и словари описываются с помощью []

Это ещё далеко не всё, однако я считаю, что эти основы достаточно важны для дальнейшего чтения учебника. Итак, давайте перейдём к Hello, World!

Hello, World!

В первую очередь, мы напишем самое простое приложение, которое только можно представить, чтобы начать работу — Hello, World!
Наше приложение будет делать только одно: печатать фразу «Hello, World!» в консоль. Для этого нам потребуется установленная IDE XCode, для скачивания которой необходима учётная запись разработчика. Если у вас есть аккаунт, то смело качайте с официального сайта XCode 6 beta 4, желательно это сделать до прочтения ниже описанного.

Итак, вы установили свою копию IDE. Теперь давайте выведем «Hello, World!» на консоль.Этот пример не только демонстрирует простейшее приложение, которое можно написать, но и, что немаловажно, показывает, что среда разработки настроена правильно.
В XCode создайте проект с помощью шаблона приложения с одним видом («Single View Application»).

Убедитесь, что вы выбрали Swift в качестве языка приложения.

Теперь вы должны найти файл AppDelegate.swift в иерархии проекта. Внутри найдите следующую строку:

Замените эту строку на наш изумительный код:


Теперь нажмите «Run». Вы должны увидеть загрузившееся пустое приложение и слова Hello, World! , напечатанные в консоли, расположенной в нижней части окна XCode. Заметьте, это не будет отображаться в симуляторе iPhone.

Поздравляю! Вы только что написали своё первое приложение на Swift! Правда оно не получит никаких премий, призов, только ваши собственные овации. А теперь, давайте копнём немножко глубже…

Читайте также:  Check iphone apple icloud

Добавление Table View

В этом разделе мы попробуем добавить материал на экран. Откройте в XCode файл Main.storyboard, перенесите из Библиотеки Объектов («Object Library») объект Table View на экран приложения, растяните таблицу так, чтобы она совпала с краями. Затем измените высоту, перетянув верхний край, оставив небольшое пространство сверху (это необходимо для строки состояния). Если вы запустите приложение, то увидите в симуляторе пустую таблицу.

Теперь необходимо создать делегат и источник данных для таблицы. Это легче всего сделать в конструкторе интерфейса. Нажмите клавишу «Command», кликните и перетащите Table View к объекту View Controller в иерархии файла .storyboard, и выберите «источник данных» («data source»). Повторите с опцией «delegate».

Примечание:Я получил целую тонну вопросов о вышесказанном, т.к. многие люди сообщают о том, что у них не устанавливается табличный вид. Поэтому, я записал видео, поясняющее как работает подключение объектов Storyboard в коде. Для просмотра перейдите в полноэкранный режим и выберите опцию 720p, чтобы вы могли заметить всё, что вас интересует. Это будет немного отличаться от интерфейса XCode, но функционально всё работает также.

А теперь давайте углубимся в методы протоколов для табличного представления. Из-за использования UITableViewDataSource и UITableViewDelegate мы должны изменить определение класса.
Откройте файл и замените строку

Если вы нажмёте клавишу «Command» и кликните на один из этих протоколов, то увидите «обязательные» функции. Для табличного представления необходимы как минимум эти две:

Изменим наш класс View Controller путём добавления этих двух функций:

Первый метод возвращает количество строк в разделе. В нашем примере используется «магическое» число 10, однако вместо него, как правило, должна использоваться длинна контроллера массива. Наш же код умышленно упрощён.

Во втором методе происходит чистой воды волшебство. Мы создаём экземпляр класса UITableViewCell ( cell ), используя стиль ячейки Subtitle . Затем мы присваиваем текстовому значению этой ячейки значение «Row #\(indexPath.row)» . В Swift подобным образом происходит встраивание значений переменных в строку без конвертации (таким образом, мы получим строки вида «Row #1» , «Row #2» )

Детализированная текстовая метка ( detailTextLabel ) доступна только при использовании класса ячеек Subtitle , который мы используем в данном примере.

При запуске приложения вы увидите восхитительный список ячеек с заголовками и подзаголовками, показывающие номера их строк. Это один из наиболее распространённых способов отображения данных в iOS, вы убедитесь, он вам ещё не раз пригодится. Увидеть полный текст кода вы можете на github.

В следующем посте мы исследуем использование API поиска iTunes для создания приложения, способного искать и отображать альбомы внутри iTunes Store.

Источник

Что почитать по Swift на русском языке?

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

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

Читайте также:  Huawei mate 40 pro или iphone 12 pro

Поэтому автор блога GeekBrains Илья Бубнов вдоль и поперёк изучил российские издательства, чтобы отыскать 5 самых популярных книг по Swift, выпущенных в олдскульном формате.

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

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

По сути, единственным недостатком является тот факт, что книга помогает сделать лишь первые шаги в программировании на Swift. К тому же использовать её в качестве базового справочника не очень удобно.

Отзывы. Практически все рецензии восторженные, что неудивительно, учитывая объём и цену. Плюс есть свежее издание, в котором рассказывается про работу на Swift 3.0, из-за ограниченности выбора это тоже большое достоинство.

Язык Swift. Самоучитель

Классический справочник, основанный на второй версии языка Swift. Первая половина книги посвящена описанию типов, функциям, операторам, циклам — бегло рассказывается обо всём, в том числе о принципах ООП. Во второй части подробно описываются составляющие «взрослого» программирования: классы, структуры, протоколы, опциональные типы и т.д.

Слово «Самоучитель» в названии не должно вводить вас в заблуждение — здесь нет практических заданий, в отличие от предыдущей книги, и совсем немного примеров. То есть если у вас затруднения с обучением по технической литературе, эта книга точно не для вас. А вот если хотите иметь под рукой маленький справочник с базовыми пояснениями — это хороший выбор.

Отзывы. В целом, книга имеет больше позитивных откликов, резко негативных почти нет. К достоинствам читатели относят приятный стиль изложения и информативность. Из недостатков — отсутствие практических заданий и то, что в 2018 году пора бы уже выпустить переиздание для Swift 3.0, так как многие описанные приёмы устарели в новой версии языка.

Swift 3. Разработка приложений в среде Xcode для iPhone и iPad с использованием iOS SDK

Буквально самая ценная книга нашего рейтинга, купить её сегодня дешевле 3000 рублей крайне непросто. С другой стороны, опытные программисты точно знают: хорошая книга стоит дорого. Внушительный объём (под 900 страницы), прекрасный внешний вид, широкий диапазон затрагиваемых тем, качественно изложенные теория и практика. Такой книге порадуется даже профессиональный iOS-разработчик, а для новичка она и вовсе может стать библией.

Как это часто бывает, перевод имеет несколько шероховатостей, но для такого объёма их количество несущественно. Кроме того, базовая часть здесь дана немного скомкано, то есть от читателя требуется, чтобы он был знаком хотя бы с одним языком программирования. Лучше, если это будет Objective-C.

Отзывы. В рунете все отзывы восторженные, если не поднимать вопрос цены. А вот мнения на Amazon разделились: кто-то восхищён предложенным обучением через практику, а кто-то ругает нередкие пропуски текста, опечатки и общие помарки, появившиеся лишь в 3-й редакции.

Swift для детей. Самоучитель по созданию приложений для iOS

Подобные самоучители привлекают внимание не меньше, чем книги из серии «…для чайников», плюс у них ещё и яркая обложка. Данный экземпляр — не исключение. Главная цель авторов: донести даже до маленького ребёнка, как создать приложение для iPhone. И им это удалось. Отсюда много примитивного текста и откровенной воды. Но в целом, если вам нужна не занудная книга про основы Swift — это прекрасный выбор. Бонусом идёт множество иллюстрацией и примеров.

Читайте также:  Sync iphone calendar with calendar

Здесь, конечно, хватает промашек, которые могут заставить морально неокрепшего ребёнка нервничать. К примеру, приведённые скриншоты XCode с объяснениями сделаны в 8 версии, в то время как сейчас во всю готовится к выпуску 10-я. Часть кода иногда опускается из-за его «очевидности», хотя дети, говорят, такое не любят. Да и вообще вся книга — скорее описание процесса создания одного приложения. После её прочтения нужно прочитать минимум ещё одну, схожую по содержанию, но куда более взрослую книгу.

Отзывы. Отыскать в рунете негатив по поводу перевода, содержания или подачи информации не удалось. Оно и понятно, к чему придирки, когда у книги такое название? А вот на Западе претензии есть, преимущественно к финальным частям самоучителя, которые вызывают больше вопросов, чем дают ответов. Но это, пожалуй, классическая претензия к «детским» самоучителям, посвящённым полному циклу создания приложения.

Swift. Карманный справочник. Программирование в среде iOS и ОS X

Книги компании O’Reilly давно заслужили уважение программистов по всему миру: в этой серии вы не найдёте «дилетантских» творений, очень редко встречаются критические ошибки в виде нерабочего кода в примерах, или «неправильных» скриншотов. Эта книга не исключение, она полностью отвечает званию справочника.

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

Отзывы. Большинство оценок имеет сдержанно-позитивный окрас. Удалось найти лишь один негативный отзыв, посвящённый тому, что книга охватывает лишь основы Swift. Впрочем, это лишь вопрос завышенных ожиданий от книги с названием «Карманный справочник».

То немногое, что переведено на русский язык по Swift, вполне можно брать в изучение. Здесь нет провалов ни с профессиональными терминами, ни с качеством выбранной литературы. Но всё же немного грустно, что выбор ограничен. А потому логичный вопрос:

Какую книгу по Swift вы бы хотели увидеть переведённой на русский язык?

Источник

Документация

Документация

Данная документация является переводом официальной книги «Swift Programming Language» от Apple. Работа была проделана профессионалами, но в связи с огромным объемом текста и постоянным обновлением книги, мы не исключаем незначительных ошибок. Если вы вдруг обнаружили то, что на ваш взгляд нуждается в корректировке, то напишите нам об этом либо в комментариях, либо на почту и мы обязательно примем это во внимание. Кроме того, мы стараемся постоянно обновлять документацию, как только выходят официальные правки английского варианта книги. В конечном итоге, нашей целью является создание качественного и постоянно обновляемого источника информации о языке Swift.

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

Если вам нужно быстро пройтись по возможностям языка, то начните с главы «Знакомство со Swift». Если же требуется углубиться в Swift, пропустите главу «Знакомство со Swift» и сразу начинайте читать с главы «Основы».

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Оцените статью