Как открыть playground в xcode 12

Как открыть playground в xcode 12

Playgrounds are a great way to try out ideas but I have tended to use them standalone. They also make great companions when added to your Xcode projects. I especially like being able to use the playground live view to preview view and layout code without the need for Interface Builder.

Unfortunately a playground does not automatically get access to the code and resources of a project. Getting it all setup the first time is a pain so for future reference here is my step-by-step guide.

Last Updated: Feb 8, 2021

Note: I should warn you that I have pretty much given up on this approach. Three years later I still find using playgrounds for anything non-trivial to be frustrating. Since the release of Xcode 11 I’ve switched to using the Swift package manager for code reuse. See Creating Swift Packages in Xcode for details.

Starting with Xcode 12.5 you can also give your playgrounds access to your app types.

Creating a Custom View

To show the idea I have a minimal Xcode project, named GridView, based on the single view application template. Suppose I am using this project to develop a custom view that should draw a grid view with a configurable number of rows and columns. The details are not interesting but here is the interface to the class:

I can make this view designable and inspectable so that I can preview and configure it directly in Interface Builder. But what if I am not using Interface Builder? A playground live view can help fill that gap. Let’s look at how to do it.

Creating a Workspace

The first step is to create an Xcode workspace to contain both the Xcode project and the playground. Starting from my basic Xcode project use “Save As Workspace…” from the File menu.

I named the workspace GridView after the project name and saved the xworkspace file in the same location as the xcodeproj file:

Как открыть playground в xcode 12

Close the Xcode project and open the workspace. Remember in future to open the workspace file not the project or playground.

Adding a Playground

Create a new blank iOS playground with “File > New > Playground…” name and save it in the same location as the xcodeproj and xcworkspace files. Also make sure to select the option to add the playground to the workspace, keeping it at the top-level group:

Как открыть playground в xcode 12

At this point you should have project, workspace and playground files in the root folder of the project:

Как открыть playground в xcode 12

The project navigator should have both the playground and project at the top level:

Как открыть playground в xcode 12

Unfortunately we can’t just start using our project code and resources in the playground. The playground is its own module and cannot see the application target module. To get around that we can create a framework that we import into the playground.

Creating a Framework

To create a framework for our custom view, use “File > New > Target…” and choose the iOS “Framework” template:

Как открыть playground в xcode 12

Name the framework (I used GridViewUI ) and change “Embed In Application” to “None”:

Как открыть playground в xcode 12

We can now add those files we want to use in the playground to the framework target. In this case I just have the GridView class to add. Click on GridView.swift in the project navigator and then use the file inspector to add it to the framework. If I had other resources to share I would also add them to the framework at this point.

Как открыть playground в xcode 12

Note that I am leaving the GridView class as a member of the application target. In this simple case I am only creating the framework for use by the playground and not using it in the application. If you choose to embed the framework in the application remove the class from the application target.

Build the Framework

Any time you add, remove or change files in the framework remember to rebuild it. With the framework target selected, choose one of the iOS simulators and then build the product (⌘B):

Как открыть playground в xcode 12

Import and Use

We should now be able to import the framework and use our GridView class in the playground:

Make sure you are showing the live view (“Editor > Live View”):

Как открыть playground в xcode 12

That’s all there is to it.

Create a Playground Tab

I like to use Xcode Behaviors to automatically configure a tab to show the playground. I have the shortcut ⌃⌥⌘P assigned to switch to it. You may need to select the playground and show the live editor the first time:

Как открыть playground в xcode 12

Getting the Code

You can find the full GridView Xcode project in my GitHub CodeExamples repository here:

Источник

Основы программирования и Playground. Часть 2

Как открыть playground в xcode 12

Инструменты, которые мы будем использовать в ходе написание кода, относятся к программным средствам. Одним из таких инструментов является Интегрированная среда разработки или IDE. Наиболее распространенная среда для Swift – это Xcode, которым вы будете пользоваться.

Набор инструментов для написания

Xcode обладает очень полезной опцией, которая носит название Playground (“песочница”, игровая площадка). Это опция позволяет быстро разрабатывать и тестировать код без необходимости построения финального варианта программы. Playground будет неоднократно вами использоваться для написания вашего кода, поэтому важно понять, как она работает. Это, собственно, то, чему вы научитесь в остальной части этой главы.

Создание Playground

При открытии Xcode, среда разработки будет приветствовать вас:

Как открыть playground в xcode 12

Если же вы не видите этого на экране своего монитора, то вероятнее всего опция, отвечающая за отображение окна приветствия, была отключена. Вы также можете открыть это окно, зажав комбинацию клавиш Command-Shift-1 или нажав на Window\Welcome to Xcode в строке меню.

Вы можете незамедлительно переместиться из окна приветствия в Playground, нажав на Get started with a playground. Нажав на данную команду, Xcode перенесёт вас в следующее окно:

Как открыть playground в xcode 12

Здесь вы можете выбрать платформу. На данный момент ей могут быть iOS, macOS или tvOS. Выбранная вами платформа попросту определяет шаблон Playground. Каждая из них обладает своей средой и средствами к работе с вашим кодом. Основываясь на целях нашей программы, выбирайте то, что вам ближе: наше обучение основано на языке Swift, но не на конкретной платформе.

Как открыть playground в xcode 12

Нажмите на Create и затем сохраните Playground. Xcode в последствие отобразит выбранный вами Playground:

Как открыть playground в xcode 12

Работа с новым Playground начинается не с абсолютно чистого листа: некоторые базисы кодировки для начинающих уже имеются. Однако не волнуйтесь – в скором времени вы поймёте, как работать с кодом.

Обзор Playground

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

Как открыть playground в xcode 12

Верхние скриншоты отображают первостепенную информацию: 1. Source editor : это пространство для написания вашего кода похожее на Notepad или TextEdit. Вы можете заметить наличие так называемого моноширинного шрифта, при котором ширина всех символов одинакова. За счёт данного типа шрифта форматирование и чтение кода становятся довольно простыми.

2. Results side bar : это пространство отображает результат вашей работы. Вы узнаете больше о том, как реализуется сам код по мере прочтения книги. Results side bar ваш главный инструмент для проверки корректности написания кода и его работы.

3. Execution control : код написанный в Playground исполняется автоматически, т.е., написав его, вы можете незамедлительно увидеть отдачу. Эта опция позволяет вам реализовывать ваш код в Playground сколько угодно. Зажимая клавишу, вы можете переключаться между автоматическим и ручным режимами исполнения.

4. Activity viewer : эта опция отображает статус Playground. Другими словами – завершил ли Playground исполнение написанного и готов ли работать дальше с исходным кодом. При процессе исполнения пользователь будет оповещён символом в виде вертящегося спинера.

5. Panel controls : данная опция позволяет скрывать и отображать три панели. Одну слева, одну снизу и одну справа. Панели содержат дополнительную информацию, которая может вам пригодиться для дальнейшей работы. Однако обычно они скрыты как на скриншоте. Вы узнаете больше о каждой из панелей в дальнейшем.

Playground реализует исполняемый код, начиная с самого начала, стремясь вниз. Каждый раз, когда вы будете изменять код, Playground будет совершать переисполнение, заменяя компоненты. Вы также можете сами запустить функцию переисполнения, нажав Editor\Execute Playground. Вы также можете изменять параметры исполнения кода.

Ключевые моменты • Самые фундаментальные процессы, исполняемые компьютером, базируются на элементарной арифметике. • Язык программирования позволяет вам писать код, который компилятор, в свою очередь, конвертирует в операции, исполняемые ЦП. • Работа компьютера построена на двоичной (бинарной) системе счисления. • Интегрированная среда разработки, используемая нами для реализации Swift – это Xcode. • Получая моментальный отчёт о том, как код исполнен, Playground предоставляет возможность писать на языке Swift и тестировать его с крайне большой скоростью и эффективностью.

Что дальше?

Если вам ещё не предоставлялось возможности, советуем открыть Xcode и создать свой первый Playground. Назовите её Глава 1 и выберите платформу iOS. Сохраните её где-нибудь у себя на жестком диске и вернитесь к вашему “холсту”. Теперь лишь остаётся следовать уготованным в следующей главе инструкциям!

Данный текст является неавторизированным переводом книги iOS Apprentice

Источник

Xcode уроки. Урок 2. Язык Swift. Playgroung проект

В этом уроке будут кратко описаны некоторые особенности данного языка, разберём, что такое язык Swift и каков его синтаксис.

Цель урока: Знакомство с синтаксисом языка Swift: с его основными функциями, типами данных и структурами.

Что такое язык Swift?

Язык Swift – язык программирования для разработчиков iOS и macOS. Его разработка началась в июле 2010 года Крисом Лэттнером с возможным сотрудничеством многих других программистов в Apple, но основа была заложена еще в 1989–1995 годах на платформе NeXT.

Язык Swift разработан с нуля со следующими отличительными особенностями:

Эти особенности делают использование языка Swift в разработке мобильных приложений приоритетнее. Для понимания основ программирования Swift – это гораздо более простой язык для работы. Мобильный разработчик Denis Mikan утверждает: «Swift ликвидирует трудности, которые скопились за много лет в языке Objective-C. Он призван, в первую очередь, облегчить ситуацию тех разработчиков, которые не имеют желания разбираться с огромными, сложными конструкциями Objective-C. Язык Swift так же откроет новую эру для непрофессиональных разработчиков, которые сейчас кроме разработки маленьких игр на JavaScript, так же смогут выбирать и этот язык»

Синтаксис SWIFT

Язык Swift схож с другими языками программирования. Swift активно использует переменные, константы, массивы, списки, условия, циклы, функции, классы, структуры и т.д.

Комментарии

Хорошо написанный программный код должен быть подкреплен комментариями, чтобы человек, впервые работающий с этим кодом, мог легко разобраться в нём. В языке Swift также, как и в языке Си, одиночные комментарии начинаются с двух косых черт. Многострочный комментарий начинается с «/*», после чего пишется какая-либо заметка, а заканчивается символами «*/». Пример комментариев:

//Это ваш одиночный комментарий

/*А это ваш многострочный комментарий */

Переменные

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

Объявление любой переменной выглядит следующим образом:

var имя_переменой = значение_переменной

После ключевого слова «var» идёт название переменной, а после оператора присваивания «=» идёт значение переменной. В языке Swift указание типа данных переменной не требуется. Swift проводит анализ заданного значения и присваивает переменной тип данных (например, числовое или строчное).

Основные типы данных: Int, Float, Double, String, bool. Чтобы изменить значение переменной достаточно обратится к переменной по её имени и, используя оператор присваивания «=» изменить значение. Повторно использовать ключевое слово «var» для уже созданной переменной не требуется.

Константа

Константа является той же переменной, но за исключением того, что изменять её значение в будущем невозможно. Объявление константы ничем не отличается от объявления любой переменной, за исключением того, что используется ключевое слово «let». Объявление константы выглядит следующим образом:

let имя_константы = значение_константы

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

В ходе разработки приложений очень часто требуется отследить изменения в переменной для ускорения процесса поиска ошибок. Для этой цели может использоваться встроенная глобальная функция print(), которая выводит сообщение в консоли Xcode.

Пример использования функции print(): print(a). Консоль выведет значение некой переменной «a». Для вывода определенного сообщения в консоли достаточно его заключить в кавычках внутри функции (print(«Hello, world! «)).

Арифметические действия

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

ОперацияОписание
+Бинарный оператор сложения, который складывает операнд a с операндом b и выводит результат a+b.
Бинарный оператор вычитания, который вычитает из первого операнда a, операнд b и выводит результат a-b.
*Бинарный оператор умножения, который перемножает операнд a с операндом b и выводит результат a*b.
/Бинарный оператор деления, который выполняет деление операнда a с операндом b и выводит результат a/b.
%Бинарный оператор остатка от деления, который делит первый операнд a на второй операнд b и возвращает остаток от деления a%b.
++Унарный оператор инкремента, увеличивающий значение операнда на единицу.
— —Унарный оператор декремента, уменьшающий значение операнда на единицу.

Кортежи

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

Кортеж хранится в константах или в переменных. Объявление кортежа выглядит следующим образом:

let имя_константы = (Значение1, Значение2, …)

var имя_переменной = (Значение1, Значение2, …)

Например, объявим кортеж с тремя разными типами данных:

var cortege = (false, 256,»World»)

В данном случае false – логическое значение типа Bool, 256 – целочисленное значение типа Int, «World» – строковое значение типа String. В результате данный кортеж группирует вместе значения трех различных типов данных, позволяя хранить их в пределах одной переменной.

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

var cortege = (false, 256,»World») print («Значение bool: \(cortege.0)») print («Значение Int: \(cortege.1)») print («Значение String: \(cortege.2)»)

В консоли отобразится:

Значение bool: false Значение Int: 256 Значение String: World

Оператор ветвления if

Как и в других языках программирования, в Swift есть оператор ветвления if. Его синтаксис:

Массивы

Массивы хранятся в переменных или в константах, поэтому для объявления массива в языке Swift используются ключевые слова «let» или «var»:

let название_изменяемого_массива = [«Значение1″,»Значение2», …]

var название_незменяемого_массива = [«Значение1″,»Значение2», …]

Доступ к элементам массива осуществляется с помощью индекса, заключенного в скобках после названия массива (massive[2]). В языке Swift массивы имеют базовые свойства и некоторые методы для добавления, очистки, проверки на пустоту массива. Существует возможность создания многомерных массивов.

Словари

Ещё одна возможность Swift – Словари. Словари – неупорядоченные коллекции элементов одного типа, обратится к которым можно через специальные ключи. Каждый элемент словаря состоит из своего уникального ключа, который устанавливает разработчик. Синтаксис словаря выглядит следующим образом:

var название_словаря = [«Ключ1″:»Значение1», «Ключ2″:»Значение2», «Ключ3″:»Значение3»]

Здесь Ключ1, Ключ2, Ключ3 – это уникальные ключи, которые служат для доступа к значениям словаря. Тип данных ключа – String, но такой тип данных не обязателен для ключа. Главное правило: ключ должен быть уникальным и не должен повторяться.

Пример объявления словаря и действий с ним:

var Country = [«Rus»:»Russia», «USA»:»America», «Ger»:»Germany»] //получение значение элемента print(Country[«Rus»]) //изменение значения элемента Country[«USA»] = «The United States of America» //добавление нового ключа и значения в словарь Country[«Ita»] = «Italy» //удаление пары ключ-значение Country.removeValueForKey(«Ger»)

В результате в словаре появится измененное значение элемента с ключём USA, добавление нового ключа Ita и значения, а также удаление элемента с ключем Ger.

Циклы Swift

Как и другие языки программирования, Swift работает с циклами. Цикличное выполнение кода осуществляется операторами for, for-in, while и repeat while. Механизм работы циклов разный. Описание различных типов циклов, синтаксиса и их механизма работы приведены в таблице:

Оператор повторенияМеханизм работыСинтаксис
for1. Инициализация начального значения, в котором объявляется некоторая начальная переменная. 2. Проверка условия окончания, если оно возвращает false, цикл завершает работу. Если возвращается значение true, цикл продолжает работу и выполняет блок кода. 3.После выполнения блока кода, начальное выражение меняет своё значение в зависимости от заданного действия. 4. Новая итерация и повторение действий с шага 2.for начальное_выражение; условие_окончания; действие
for-inЦикл выполняет блок кода для каждого элемента в последовательности. Перед каждой итерацией последующий элемент из последовательности присваивается объявленной переменной, которая доступна в блоке кода. После перебора всех элементов последовательности цикл завершает свою работу.for переменная in последовательность
WhileЦикл выполняется до тех пор, пока условие истинно. Когда условие возвращает false, цикл завершает свою работу.while условие
repeat whileТакой цикл является циклом с последующей проверкой условия. Сначала происходит выполнение блока кода, а затем проверяется условие. Если условие возвращает true, цикл повторяется, если false – цикл завершает работу.repeat < блок кода >while условие

Playgroung проект

Playgroung проект – уникальное встроенное приложение, позволяющее изучать язык Swift интерактивно. Это среда для изучения основ программирования, созданная компанией Apple. Код, написанный пользователем, мгновенно компилируется, а результат тут же отображается.

Для создания нового playground проекта в первоначальном диалоговом окне создания проектов Xcode необходимо выбрать пункт «Get Started with a playground»:

Как открыть playground в xcode 12

Далее необходимо выбрать пустой шаблон «Blank» и нажать кнопку «Next»:

Как открыть playground в xcode 12

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

Как открыть playground в xcode 12

На экране отобразится первоначальный проект, в котором есть одна переменная str с текстом «Hello, playground» и сразу рядом в области результатов видно содержимое переменной.

Как открыть playground в xcode 12

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

Источник

5 ноября 2015 г. Основы Swift. Как установить Xcode и создать playground

Как открыть playground в xcode 12

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

Поскольку материал организован по принципу «от простого к сложному», рекомендую вам изучать материал последовательно, чтобы не пропустить ничего важного. В конце обучения вы будете обладать не только нужными знаниями, но и обзаведетесь собственноручно написанными приложениями, которые не стыдно показать друзьям или потенциальным работодателям.

Чтобы начать изучать Swift, установите бесплатную среду разработки Xcode из App Store. А пока идет процесс загрузки и установки, давайте познакомимся с основными терминами, которые нам понадобятся.

Основные термины

Введение в Swift playgrounds

После запуска Xcode на экране вашего Mac отобразится следующее окно:

Как открыть playground в xcode 12

В левой части выберите пункт Get started with a playground. Xcode предложить вам присвоить имя проекту. Введите подходящее имя, например MyPlayground. Нажмите кнопку Next и выберите каталог на жестком диске, где будет храниться файл проекта.

Рабочая область экрана разделена на две части. Это сделано с целью визуального разделения кода и результата его выполнения. Слева отобразится следующая информация:

Справа вы увидите первый пример выполнения кода: Hello, playground.

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

Playground автоматически выполняет введенный нами код, а также обновляет результаты его выполнения. Например, если мы напишем имя переменной str, то в правой части окна дважды отобразиться текст «Hello, playground»: первый раз при инициализации переменной, второй — при выводе ее имени.

Переменные и константы

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

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

Константы также позволяют Xcode принимать решения, касающиеся оптимизации работы приложения. В Swift переменная создается с помощью команды var, например:

Теперь мы напишем собственный код в playground, чтобы лучше понять, как все работает. Удалите код по умолчанию, который отображается в playground, оставив только строчку UIKit (она подключает фреймворк для iOS, который понадобится нам в дальнейшем) и ниже добавьте переменную. Вы увидите следующее:

Как открыть playground в xcode 12

Поскольку это переменная, то изменить ее значение можно в любой момент. При этом, вам не нужно каждый раз использовать команду var — она используется только для объявления новых переменных. Введите следующее:

В первой строке мы создаем переменную и задаем ее первоначальное значение, а во второй изменяем его на Romeo. Оба результата отобразятся на панели результатов.

А если бы мы задали константу, а не переменную? Для объявления константы используется команда let. Измените код следующим образом:

Теперь Xcode покажет красный значок ошибки в третьей строке и подчеркнет команду name. Если щелкнуть красный значок, Xcode отобразит текст сообщения об ошибке: «Cannot assign to ‘let’ value ‘name’», что следует понимать как: «Вы пытаетесь изменить значение константы».

Как открыть playground в xcode 12

Кроме того, если вы попытаетесь использовать одно и то же имя дважды, Xcode тоже предупредит вас об ошибке:

Когда playground обнаруживает ошибку в коде, он отмечает ее красным значком или же просто не выполняется до конца. В последнем случае текст на панели результатов будет серым.

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

Нужен MVP, разработка под iOS, Android или прототип приложения? Ознакомьтесь с нашим портфолио и сделайте заказ уже сегодня!

Источник

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

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