пишем приложение на swift

Пишем очень простое приложение на Swift под OS X

пишем приложение на swift. 0*bSjmLeMOqjNvcrfM. пишем приложение на swift фото. пишем приложение на swift-0*bSjmLeMOqjNvcrfM. картинка пишем приложение на swift. картинка 0*bSjmLeMOqjNvcrfM.

Jan 5, 2016 · 7 min read

Мне понадобилось (или ок, захотелось) написать небольшое приложение под OS X, которое бы показывало окошко с различной информацией. Раньше я такого не делал, поэтому решил заодно попробовать Swift — новый модный язык от Apple.

Читать документацию слишком лениво, поэтому я нашел пошаговую инструкцию по созданию приложения, которое считает количество нажатий на кнопку (How I Used Swift to Build a Menubar App for OSX), прошел по ней, сделал ряд исправлений и упрощений, чтобы все работало и ничего лишнего не лезло. Теперь делюсь опытом.

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

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

Для начала вам понадобится Xсode — это бесплатная среда разработки от Apple, скачать ее можно в App Store.

Запускаем Xcode и выбираем «Create a new Xcode project».

пишем приложение на swift. 1*GSjiDmdITSzIAiuloh96bA. пишем приложение на swift фото. пишем приложение на swift-1*GSjiDmdITSzIAiuloh96bA. картинка пишем приложение на swift. картинка 1*GSjiDmdITSzIAiuloh96bA.

В следующем окне предложат выбрать шаблон для приложения. В левом меню надо выбрать OS X — Application, затем в правой части окна Cocoa Application

пишем приложение на swift. 1*Tw21SZiVZSC7JYlwLeKSnQ. пишем приложение на swift фото. пишем приложение на swift-1*Tw21SZiVZSC7JYlwLeKSnQ. картинка пишем приложение на swift. картинка 1*Tw21SZiVZSC7JYlwLeKSnQ.

Нажимаем Next и в следующем окне вводим название приложения и идентификатор организации (и то, и другое можно брать из головы, лишь бы вы потом поняли, что это была за программа). В пункте Language надо переключить на Swift.

пишем приложение на swift. 1*V0E58b3dKH4P1KYgYaBzYQ. пишем приложение на swift фото. пишем приложение на swift-1*V0E58b3dKH4P1KYgYaBzYQ. картинка пишем приложение на swift. картинка 1*V0E58b3dKH4P1KYgYaBzYQ.

В следующем окне Xcode предложит выбрать, где создать папку с проектом. Я обычно кладу в «Документы», вы можете выбрать на свой вкус.

После этого Xcode покажет примерно такое окно:

пишем приложение на swift. 1*KurJfeyh6jeoeYwg0tXaLQ. пишем приложение на swift фото. пишем приложение на swift-1*KurJfeyh6jeoeYwg0tXaLQ. картинка пишем приложение на swift. картинка 1*KurJfeyh6jeoeYwg0tXaLQ.

Оно может в чем-то отличаться. Дополнительные колонки (серые справа и слева) можно включать и выключать кнопками в правом верхнем углу окна.

Кликаем на MainMenu.xlb в левой колонке — появится пустое поле. Если нажать на кнопку Window (ее видно на скриншоте), появится окно нашего приложения. Ура!

пишем приложение на swift. 1*UqVsNItOLLWg78Ah7MnOCA. пишем приложение на swift фото. пишем приложение на swift-1*UqVsNItOLLWg78Ah7MnOCA. картинка пишем приложение на swift. картинка 1*UqVsNItOLLWg78Ah7MnOCA.

Теперь надо добавить в окно элементы — в нашем случае это поле с текстом и кнопка. Элементы находятся в нижней части правой колонки — там есть четыре переключателя. Надо переключиться на кружочек и появится список элементов.

пишем приложение на swift. . пишем приложение на swift фото. пишем приложение на swift-. картинка пишем приложение на swift. картинка .

Перетягиваем из этого списка на окно Push Button и Label. Если не удается найти какой-то элемент, начните вводить его название в поле Filter внизу — это поможет отфильтровать лишнее.

Вот что должно получиться в основном окне:

пишем приложение на swift. 1*dVBNp. пишем приложение на swift фото. пишем приложение на swift-1*dVBNp. картинка пишем приложение на swift. картинка 1*dVBNp.

Если вам кажется, что элементы выглядят бедновато, то можете их отредактировать. Для этого надо кликнуть на нужный элемент (например, на Label) и в правой колонке вверху переключиться на вкладку «Show the Attributes inspector» (выглядит как вбитый куда-то колышек). Здесь можно поменять шрифт, цвета, размеры и так далее.

пишем приложение на swift. 1*0PIDPJtvPI7XE8GTK0iV9g. пишем приложение на swift фото. пишем приложение на swift-1*0PIDPJtvPI7XE8GTK0iV9g. картинка пишем приложение на swift. картинка 1*0PIDPJtvPI7XE8GTK0iV9g.

Я немного увеличил размер шрифта и поменял Title — теперь в приложении написано «Привет». Из-за увеличенного шрифта текст перестал влезать в предложенное ему поле. Поэтому я заметно увеличил размер этого элемента в окне, потянув за его углы.

пишем приложение на swift. 1*cy2 KLnCKJEMjfJnsy9WIw. пишем приложение на swift фото. пишем приложение на swift-1*cy2 KLnCKJEMjfJnsy9WIw. картинка пишем приложение на swift. картинка 1*cy2 KLnCKJEMjfJnsy9WIw.

Также я изменил Title кнопки, чтобы она была моей. Вот что получилось:

пишем приложение на swift. 1*3hC6ZnWYqT08rJzZhlWI9Q. пишем приложение на swift фото. пишем приложение на swift-1*3hC6ZnWYqT08rJzZhlWI9Q. картинка пишем приложение на swift. картинка 1*3hC6ZnWYqT08rJzZhlWI9Q.

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

пишем приложение на swift. 1*trsTlf0FMqj X6jbGIjySA. пишем приложение на swift фото. пишем приложение на swift-1*trsTlf0FMqj X6jbGIjySA. картинка пишем приложение на swift. картинка 1*trsTlf0FMqj X6jbGIjySA.

В основном должен быть все еще открыт редактор интерфейса (MainMenu.xib). В дополнительном надо открыть AppDelegate.swift. У меня по умолчанию открылся другой файл. Чтобы переключиться на нужный, надо нажать на слово Automatic в заголовке этой дополнительной колонки, затем в выпадающем меню найти AppDelegate.swift (ищите там же, где показано на скриншоте).

пишем приложение на swift. 1*4nllbFT6UIh1MAOKOTZILA. пишем приложение на swift фото. пишем приложение на swift-1*4nllbFT6UIh1MAOKOTZILA. картинка пишем приложение на swift. картинка 1*4nllbFT6UIh1MAOKOTZILA.

Также я закрыл самую правую колонку, так как пока она не нужна. Для этого надо нажать на самую правую кнопку в верхнем правом углу. Вот как выглядит окно Xcode:

пишем приложение на swift. . пишем приложение на swift фото. пишем приложение на swift-. картинка пишем приложение на swift. картинка .

Вот как это выглядит:

пишем приложение на swift. 1*HUUlb7UnoI5ZLQL5obwFIw. пишем приложение на swift фото. пишем приложение на swift-1*HUUlb7UnoI5ZLQL5obwFIw. картинка пишем приложение на swift. картинка 1*HUUlb7UnoI5ZLQL5obwFIw.

Когда связываете элемент с кодом, появляется всплывающее окно. С текстовым полем все просто: надо оставить все, как есть, в Name вписать theLabel.

С кнопкой операцию надо провернуть дважды: сначала оставить Connection на пункте Outlet, а в название вписать «theButton». Во второй раз переключить Connection на Action, вписать в Name «pressedButton».

пишем приложение на swift. 1*RNjRU4NoYa1aiGLXpkHY2w. пишем приложение на swift фото. пишем приложение на swift-1*RNjRU4NoYa1aiGLXpkHY2w. картинка пишем приложение на swift. картинка 1*RNjRU4NoYa1aiGLXpkHY2w.

Теперь точно переходим к программированию. Чтобы не захламлять интерфейс, можно отключить Assistant, а в основном поле переключиться с MainMenu.xib на AppDelegate.swift. Нам сейчас нужно только редактирование кода в AppDelegate.swift.

Там у вас должен лежать такой код.

пишем приложение на swift. . пишем приложение на swift фото. пишем приложение на swift-. картинка пишем приложение на swift. картинка .

Если на предыдущих шагах что-то пошло не так, можете скопировать и вставить код отсюда.

В нашем коде есть две пустые функции applicationDidFinishLaunching и applicationWillTerminate. Границы функций определены фигурными скобками. Внутрь пока лезть не будем.

Ниже нашей серии @ IBOutlet’ов создадим переменную buttonPresses, которая будет хранить количество нажатий на кнопку. Для этого надо ввести строчку:

Теперь создадим функцию awakeFromNib, которая запустится сразу после загрузки окна нашего приложения.

Внутрь awakeFromNib, между открывающей и закрывающей фигурными скобками, надо положить команду, которая задает новую строку для нашего текстового поля:

На этом этапе уже можно проверить свою программу. Если нажать на Cmd+R (или кнопку с треугольником в левом верхнем углу Xcode) и подождать, запустится окно с нашей кнопкой и текстом!

пишем приложение на swift. . пишем приложение на swift фото. пишем приложение на swift-. картинка пишем приложение на swift. картинка .

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

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

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

Запускаем еще раз и ААААА

пишем приложение на swift. . пишем приложение на swift фото. пишем приложение на swift-. картинка пишем приложение на swift. картинка .

Автор исходного поста советует добавить также в код функцию:

которая выводит окно нашей программы на передний план. У меня и без этого выводится, но имейте в виду.

Маленькое дополнение: открываем файлы.

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

Если будете использовать, не забудьте поменять путь до файла.

пишем приложение на swift. 1*sP9Mre5Kfid67caVQRh6yQ. пишем приложение на swift фото. пишем приложение на swift-1*sP9Mre5Kfid67caVQRh6yQ. картинка пишем приложение на swift. картинка 1*sP9Mre5Kfid67caVQRh6yQ.

Этот материал и скриншоты в нем доступны по лицензии Creative Commons «Attribution» («Атрибуция») 4.0 Всемирная. Это значит, что вы можете использовать их в любом виде, в том числе в коммерческих целях, с указанием авторства и ссылки на источник. Автор: Султан Сулейманов.

Оригинальный материал (в котором также рассказывается, как добавить кнопку в верхнюю панель OS X).

Источник

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

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