Swift Notes
33 subscribers
22 photos
3 videos
1 file
23 links
Обучающие материалы и полезные заметки по языку программирования Swift. Изначально задумывался, как моя личная записная книжка в процессе обучения. Связаться со мной @clockber
Download Telegram
Channel created
👨🏼‍💻 Приветствую!

🗄Навигация по каналу Swift Notes

Для поиска материала вам следует указать поисковое слово через хештег

🔹 Swift начальный уровень
#variables
#switch
#conditionals
#loops
#array
#set
#dictionaries
#functions
#structures
#classes
#operators
#forin

🔹 Swift средний уровень
#enumerations
#optionals
#closures
#properties
#protocols
#generics
#ViewController

Грокаем алгоритмы\\ Адитья Бхаргава.
#бинарный поиск

P.S.
онлайн компилятор online.swiftplayground.run/

Рад любой обратной связи, поэтому пишите ваши пожелания, замечания ➡️ @clockber
Swift Notes pinned «👨🏼‍💻 Приветствую! 🗄Навигация по каналу Swift Notes Для поиска материала вам следует указать поисковое слово через хештег 🔹 Swift начальный уровень #variables #switch #conditionals #loops #array #set #dictionaries #functions #structures #classes #operators…»
Интересная статья со сравнением Kotlin и Swift, для тех кто только вникает в суть программирования, один язык для Android, ну а Swift для Apple.

https://dev.to/sciencesoft/kotlin-vs-swift-are-android-and-ios-moving-towards-creating-a-universal-language
Реализация методов в перечислениях. #enumerations #mutating

В Swift перечисления(enumerations) являются действительно первоклассными типами и обладают несколькими расширенными возможностями. Одной из таких возможностей является возможность определять методы для case внутри перечисления.

Одним из таких вариантов использования является мутирующий метод в перечислении. Мутирующий метод - это метод, который изменяет значения своих же case при выполнении. Давайте рассмотрим пример с перечислением сезонов, чтобы вникнуть в концепцию.
Реализация вычисляемого свойства в перечислении. #enumerations #propetry

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

Рассмотрим перечисление Patty
Мы неявно присваиваем необработанные целочисленные значения каждому из случаев Patty. Затем мы реализуем дополнительное свойство вычисления пирожков pattyCountWithExtraPatty, которое возвращает целое значение, равное rawValue плюс 1.

Вычисляемое свойство может возвращать значение любого типа, и оно не обязательно должно совпадать с исходными значениями перечисления. Фактически, вам даже не нужно устанавливать исходные или связанные значения для случаев перечисления, чтобы реализовать вычисляемое свойство в перечислении.
#enumerations #property

//Eще один пример вычисляемого свойства в перечислениях(enumerations), создаем перечисление Vehicle —>

enum Vehicle {
case airplane
case boat
case truck(isFourWheelDrive: Bool)

//далее добавляем вычисляемое свойство description —> в нем перечисляем все case и заставляем выводить строку в соответствии с каждым случаем

var description: String {
switch self{
case .airplane:
return "This is an airplane"
case .boat:
return "This is a boat"
case let .truck(isFourWheelDrive):
return "This is a truck" + (isFourWheelDrive ? " with four wheel drive" : "")
}
}
}

// А в конце самое интересное, создаем константу myRide которую мы отнесем к Vehicle, добавим в ее свойства параметр, допустим true и сделаем ее принт.
И swift прекрасен😍

let myRide = Vehicle.truck(isFourWheelDrive: true)

print(myRide.description)

//Выведет: This is a truck with four wheel drive
Введение в Enumerations (Перечисления) #enumerations

🔹Обладая некоторыми формами информации, допустим мы знаем все возможные значения, которые могут существовать. Например, вы создаете транспортное приложение. Пользователи могут путешествовать на грузовике, самолете или лодке.

Мы могли бы просто использовать строку для хранения этой информации:

var myRide = "грузовик"

🔹Но такая запись не помешает нам назначить для MyRide значение, которое не является допустимым типом поездки:

myRide = "крылатые обезьяны"

Так можно легко запутаться! К счастью, Swift позволяет нам ограничить возможные значения, которыми может быть переменная.

🔹Перечисление(enumerations), часто сокращаемое до enum - это способ определить свою собственную группу связанных значений и работать с ними безопасным для типов способом. С помощью приведенного ниже перечисления мы всегда будем знать, какие транспортные средства действительны:

enum Vehicle {
case airplane
case boat
case truck
Что такое Перечисления? #enumerations

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

🔹Перечисления определяются с помощью ключевого слова enum и фигурных скобок:

enum MyDataType {
// перечесления живут тут
}

🔹Используется ключевое слово case для определения случаев в вашем перечислении:

enum DogBreed {
case corgi
case husky
case samoyed
case shibaInu
}

🔹запись может быть через запятую:

enum DogBreed {
case corgi, husky, samoyed, shibaInu
}

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

var bella = DogBreed.samoyed
После того как изучены и отработаны базовые понятия по свифту, очень рекомендую курс Ангелы Ю, со скидкой брал его чуть ли не за 700 рублей. В нем разобрано достаточно хорошо взаимодействие со SwiftUI, получите в копилку много проектов (написанных вами приложений). О да, начинал я с ютубчика и потом брал курс на Скиллбоксе, который быстро решил сбросить, что бы не тратить время и деньги. Вообщем пинать вас к обучению в текущий момент времени вряд ли кто-то будет, даже за ваши деньги! Ищите мотивацию, я ищу ее у себя в канальчике :)

https://www.udemy.com/course/ios-13-app-development-bootcamp/
#array #set #dictionaries

Очень классная картинка, которая указывает на различия между массивами, словарями и множествами.