Bei Code 🍏
302 subscribers
115 photos
1 video
36 links
🚀 Добро пожаловать в iOS-разработку! 🎉
Для связи с автором: @iBeiCode
📱 Если ты начинающий разработчик или просто интересуешься IT, добро пожаловать на канал)

YouTube: https://youtube.com/@beicode

iOS
Swift
Xcode
Download Telegram
Привет, друзья! 👋 Добро пожаловать на канал, посвящённый iOS-разработке на Swift и не только! 🎉

Меня зовут Сергей Бей, я iOS-разработчик с более чем 5-летним опытом коммерческой разработки на Swift (некоторе время разрабатывал на Objective-C).
🌟 За это время я работал над приложениями разного масштаба, создав множество приложений и решив сотни задач — от простых до сложных! 💻
Но кроме разработки, я буду рассказывать и о личных моментах — путешествиях, хобби и жизни за пределами кода. 🌍

На канале стартую с тестов по Swift — отличный способ проверить знания, углубить понимание языка и подготовиться к собеседованиям.
📝 Пока это основа, но впереди — уроки, разборы кода, советы (советы не только по разработке, а так же и по эффективному обучению) по архитектуре и многое другое!
🎥 Всё зависит от ваших идей и обратной связи!

Подписывайтесь, чтобы прокачать навыки в iOS-разработке, узнать фишки Swift и расти вместе! 🚀 Давайте создавать крутые приложения!

Пишите пожелания в комментариях — открыт к вашим идеям! 👇 До встречи в первом тесте!


@Bei_Code
11🔥1
Структуры против классов в Swift: Ключевые различия

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

1. Наследование:
Классы поддерживают наследование, что означает, что один класс может наследовать свойства и методы другого класса. Структуры не поддерживают наследование.

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

3. Инициализация:
Структуры имеют автоматически сгенерированные инициализаторы, в то время как для классов нужно явно определять инициализаторы.

4. Управление памятью:
Классы используют подсчет ссылок для управления памятью, в то время как структуры копируются при передаче, что упрощает управление памятью.

5. Неизменяемость:
Структуры по умолчанию являются неизменяемыми (immutable), что означает, что их свойства не могут быть изменены после создания экземпляра. Для классов это не так.

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

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

В конце концов, его коллега подходит и спрашивает: "Эй, а ты уверен, что импортировал нужный фреймворк?"

Разработчик проверяет и обнаруживает, что он забыл импортировать UIKit.
————————————————
Иногда самые простые вещи могут быть самыми сложными для отладки.
👍2😁1
О константах в языке Swift’

Для начала поймем, что такое константа.

Представь, что у тебя есть ящик 📦с надписью "Яблоки"🏷️. В этот ящик ты положил 5 яблок🍎 и больше туда ничего не добавляешь, ставишь амбарный замок 🔏.

В программировании константа - это как этот ящик. Это место, где хранится определенное значение, которое нельзя изменить.

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



Константы полезны для хранения следующих типов данных:

* Математические константы: Такие как π или e.
* Конфигурационные параметры: Такие как URL-адреса сервера или номера версий.
* Значения, которые не должны изменяться: Такие как идентификаторы пользователей или хеш-значения.

Как объявляются константы?

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

let имяКонстанты: Тип = Значение


Например, чтобы объявить константу с именем pi и значением числа π, вы можете использовать следующий код:

let pi: Double = 3.141592653589793


Где используются константы?

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

Использование констант имеет преимущества:

Безопасность: Константы обеспечивают безопасность, гарантируя, что важные значения не будут случайно изменены.

Производительность: Компилятор Swift может оптимизировать код, который использует константы, поскольку он знает, что их значения не изменятся.

Ясность кода: Использование констант делает код более понятным и легким для сопровождения, поскольку ясно указывает, какие значения не должны изменяться.
👍4
Channel name was changed to «👨‍💻БейCode: Swift, iOS, Xcode»
О переменных в языке Swift‘

Поймем что такое переменная:

Представь, что у тебя есть коробочка с надписью "Яблоки"🔖. В эту коробочку ты можешь положить любое количество яблок 🍎, сколько тебе нужно.

В Swift переменная - это как эта коробочка.

Имя: Коробочка имеет имя, например, "Яблоки".
Значение: В коробочку ты можешь положить разное количество яблок, например, 5 или 10.
Изменение: Ты можешь менять количество яблок в коробочке сколько угодно раз.

Когда ты создаешь переменную в Swift, ты даёшь ей имя и тип данных (например, "яблоки" и "Int" для целого числа), а потом можешь менять количество яблок, которое она хранит.

Например, ты можешь положить 5 яблок, а потом добавить ещё 3 яблока, так что в коробочке будет 8 яблок.

var количествоЯблок = 5 // Создаем переменную "количествоЯблок" и помещаем в нее 5 яблок

print("У меня \(количествоЯблок) яблок.") // Выводим сообщение: "У меня 5 яблок."

количествоЯблок = количествоЯблок + 3 // Добавляем 3 яблока к имеющимся

print("Теперь у меня \(количествоЯблок) яблок.") // Выводим сообщение: "Теперь у меня 8 яблок."


Что происходит в коде:

* Мы создаем переменную количествоЯблок и инициализируем ее значением 5.
* Затем выводим сообщение с использованием переменной количествоЯблок.
* Далее мы добавляем 3 яблока к имеющимся, используя оператор +.
* Наконец, мы снова выводим сообщение, чтобы показать обновленное количество яблок.

Мы можем использовать переменные для хранения информации о количестве яблок и изменять ее в процессе выполнения программы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Проверь себя: Значение в переменной можно изменять?
Anonymous Quiz
8%
Нет
92%
Да
👍3🔥1
Программист заходит в бар и заказывает пинту пива 🍺.
Бармен спрашивает: "Вам нужен стакан?"
Программист отвечает: "Нет, я его выпью прямо из буфера обмена."
Please open Telegram to view this post
VIEW IN TELEGRAM
😁21
Заметка по арифметическим операторам в Swift:

| Оператор | Описание | Пример | Результат |
|---|---|---|---|
| + | Сложение | 5 + 3 | 8 |
| - | Вычитание | 10 - 5 | 5 |
| * | Умножение | 2 * 4 | 8 |
| / | Деление | 10 / 2 | 5 |
| % | Остаток от деления | 10 % 3 | 1 |
1👍1
📝Заметка по операторам сравнения в Swift:

| Оператор | Описание | Пример | Результат |
|---|---|---|---|
| == | Равно | 5 == 5 | true |
| != | Не равно | 5 != 3 | true |
| > | Больше | 10 > 5 | true |
| < | Меньше | 5 < 10 | true |
| >= | Больше или равно | 10 >= 10 | true |
| <= | Меньше или равно | 5 <= 10 | true |
👍1👌1
Заметка по логическим операторам в Swift:

| Оператор | Описание | Пример | Результат |
|---|---|---|---|
| && | Логическое И (and) | true && true | true |
| || |Логическое ИЛИ (or) | true || false | true |
| ! | Логическое НЕ (not) | !true | false |
1
📝Заметка по операторам присваивания:

| Оператор | Описание | Пример | Результат |
|---|---|---|---|
| = | Простое присваивание | var a = 5 | a = 5 |
| += | Сложение с присваиванием | var a = 5; a += 3 | a = 8 |
| -= | Вычитание с присваиванием | var a = 5; a -= 3 | a = 2 |
| *= | Умножение с присваиванием | var a = 5; a *= 3 | a = 15 |
| /= | Деление с присваиванием | var a = 10; a /= 2 | a = 5 |
| %= | Остаток от деления с присваиванием | var a = 10; a %= 3 | a = 1 |
1
📝Заметка по битовым операторам:

| Оператор | Описание | Пример | Результат |
|---|---|---|---|
| & | Побитовое И (and) | 0b1100 & 0b1010 | 0b1000 |
| | | Побитовое ИЛИ (or) | 0b1100 | 0b1010 | 0b1110 |
| ^ | Побитовое исключающее ИЛИ (xor) | 0b1100 ^ 0b1010 | 0b0110 |
| ~ | Побитовое НЕ (not) | ~0b1100 | 0b0011 |
| << | Побитовый сдвиг влево | 0b1100 << 2 | 0b110000 |
| >> | Побитовый сдвиг вправо | 0b1100 >> 2 | 0b0011 |
1
📝Заметка по операторам раннего выхода:

| Оператор | Описание |
|---|---|
| return | Выход из функции или метода |
| break | Выход из цикла |
| continue | Переход к следующей итерации цикла |
🔥21
📝Прочие операторы:

* ? (Оператор необязательных значений)
* ! (Оператор разворачивания)
* ... (Оператор диапазона)
* ..< (Оператор полуоткрытого диапазона)
1
Channel name was changed to «👨‍💻Бей Код: Swift, iOS, Xcode»
Хотел упомянуть пользу от использования «final»для класса.

Когда созданный класс не предполагает наследование, то отличным решением будет использовать запись «final»

Синтаксис:


final class SomeClass { }


Есть несколько плюсов от этого.

1. Предотвращение переопределения: Пометка класса как final запрещает наследование от этого класса. Это может быть полезно, когда мы хотим заблокировать возможность переопределения методов, свойств или инициализаторов класса.

2. Улучшение читаемости кода: Использование final делает наши намерения более явными. Когда мы видим final перед классом, мы сразу понимаем, что этот класс не предназначен для наследования.

3. Оптимизация компиляции: Когда класс помечен как final, компилятор может выполнять дополнительные оптимизации во время компиляции, что может привести к ускорению процесса сборки.

Таким образом, использование final для классов в Swift может принести значительные преимущества в плане производительности, читаемости кода и общей модульности приложения.

Использование final является хорошей практикой.
👍3
Привет 👋.
Можно ли создать приложение за 5 минут?🤷‍♂️

Завтра утром планируется челендж, создание iOS приложения рандомайзера. 👨‍💻

Что из этого получится? Будет опубликовано на ютуб канале. 👁️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1👀1