Всем привет 👋
После дня отдыха (на самом деле ревью и рефлексии о том что сделано), я снова рвусь к знаниям🏃♂️
Сегодняшний урок ничем особо не выдавался: работа с датами и селекторами для чисел.
НО! Мы неожиданно перешли к тренировке своей модельки ML… Поражает насколько просто это делается. И интересно, можно ли использовать модели сделанные на Python👩💻 На первый взгляд этому ничего не мешает, если типы моделек совместимы #todo
Дальше будем ее использовать для предсказания… 🔮🧙♀️
После дня отдыха (на самом деле ревью и рефлексии о том что сделано), я снова рвусь к знаниям
Сегодняшний урок ничем особо не выдавался: работа с датами и селекторами для чисел.
НО! Мы неожиданно перешли к тренировке своей модельки ML… Поражает насколько просто это делается. И интересно, можно ли использовать модели сделанные на Python
Дальше будем ее использовать для предсказания… 🔮
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👀1
Сегодня я вновь попробовал решить ежедневную задачу на leetcode 👩💻 используя Swift 👩💻
Почему у строки нельзя взять символ по индексу?🤔
А вот
Канонично ли так использовать Swift?
Почему у строки нельзя взять символ по индексу?
class Solution {
func areAlmostEqual(_ s1: String, _ s2: String) -> Bool {
var diffIndices = [Int]()
let s1AsArr = Array(s1)
let s2AsArr = Array(s2)
for i in 0..<s1.count where s1AsArr[i] != s2AsArr[i] {
diffIndices.append(i)
}
if diffIndices.count == 0 {
return true
}
if diffIndices.count > 2 || diffIndices.count == 1 {
return false
}
return s1AsArr[diffIndices[0]] == s2AsArr[diffIndices[1]] && s1AsArr[diffIndices[1]] == s2AsArr[diffIndices[0]]
}
}
А вот
for i in range where condition
выглядит классно 💪Канонично ли так использовать Swift?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Прошёл замечательный урок, демонстрирующий мощный инструмент ML.
Первая ошибка в тесте😅
Попробуйте ответить: всегда ли в сутках 86400 секунд, и если нет, то когда это не так?
#hackingwithswift
Первая ошибка в тесте
Попробуйте ответить: всегда ли в сутках 86400 секунд, и если нет, то когда это не так?
#hackingwithswift
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1🤔1
Ещё была такая вещь:
"
Почему-то у меня сработало только для английских слов🤔
Был удивлён, что работает это на основе Markdown
"
^[\(coffeeAmount) cup](inflect: true)"
превращающая cup
в cups
если coffeeAmount > 1
Почему-то у меня сработало только для английских слов
Был удивлён, что работает это на основе Markdown
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1👀1
Проект 5
Игра Word Scramble, где пользователю предлагается составить слова из случайно выбранного слова. Например: для слова человек подходят варианты, чело, век, вол, волк и так далее
Темы
🟢 List как элемент SwiftUI, позволяющий отображать список View
🟢
🟢
🟢
Применяется оно так:
Выглядит, конечно, так себе. Но подозреваю я ещё увижу немало подобного кода, из-за поддержки
🟢 Подгрузка файлов из
🟢 Бонусом было добавление элемента в список (List) используя анимацию
#hackingwithswift обещает, что это был послендний “простой” проект, но меня после ML будет сложно удивить😎
Игра Word Scramble, где пользователю предлагается составить слова из случайно выбранного слова. Например: для слова человек подходят варианты, чело, век, вол, волк и так далее
Темы
onAppear
- действие, которое выполняется при показе View. Пока не знаю как оно реагирует на изменение View.fatalError
- возможность закрашить приложение при неразрешимой ситуацииUITextChecker
- проверка слова на корректность в смысле правописания. Применяется оно так:
func isReal(word: String) -> Bool {
let checker = UITextChecker()
let range = NSRange(location: 0, length: word.utf16.count)
let misspelledRange = checker.rangeOfMisspelledWord(in: word, range: range, startingAt: 0, wrap: false, language: "en")
return misspelledRange.location == NSNotFound
}
Выглядит, конечно, так себе. Но подозреваю я ещё увижу немало подобного кода, из-за поддержки
Objective-C
Bundle
#hackingwithswift обещает, что это был послендний “простой” проект, но меня после ML будет сложно удивить
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Оказывается, что в 👶 добавит её за нас. Пишем просто пустые
alert
необязательно добавлять кнопку Ok, SwiftUI {}
.alert(errorTitle, isPresented: $showingError) { } message: {
Text(errorMessage)
}
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Выходные не проходят зря и сегодня я знакомлюсь с анимацией 👋
Удивляет с какой простотой достигаются красивые эффекты. Напоиманает чем-то css👩💻
Кто у кого списывал?🤔
struct ContentView: View {
@State private var animationAmount = 1.0
var body: some View {
Button("Tap Me") {
}
.padding(50)
.foregroundStyle(.white)
.background(Color.blue)
.clipShape(.circle)
.overlay {
Circle()
.stroke(.black)
.scaleEffect(animationAmount)
.opacity(2 - animationAmount)
.animation(.easeInOut(duration: 1).repeatForever(autoreverses: false), value: animationAmount)
}
.onAppear {
animationAmount = 2
}
}
}
Удивляет с какой простотой достигаются красивые эффекты. Напоиманает чем-то css
Кто у кого списывал?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
А вот анимирование биндингов (bindings) взрывает мой проц 🤯
Как утверждает автор, такую анимацию можно сделать и для Boolean значений.
Stepper("Scale amount", value: $animationAmount.animation(
.easeInOut(duration: 1)
.repeatCount(3, autoreverses: true)
), in: 1...10)
Как утверждает автор, такую анимацию можно сделать и для Boolean значений.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Давайте посмотрим как оно работает с Boolean
struct ContentView: View {
@State private var isOn = false
var body: some View {
VStack {
Toggle(isOn: $isOn.animation(.easeInOut(duration: 0.5))) {
Label {
Text("Show Button")
} icon: {}
}
.padding()
Button("Circle Button") {
}
.padding(50)
.foregroundStyle(.white)
.background(Color.blue)
.clipShape(.circle)
.opacity(isOn ? 1 : 0)
}
}
}
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Кто-нибудь расскажите мне как это работает… как кнопка рисуется анимировано?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Извините, но похоже еще один пост сегодня будет ☺️
Я не мог не закончить Проект 6 сегодня
Челлендж состоит в том, что нужно прикрутить анимацию к сделанному ранее приложению Guess Flag
Я не мог не закончить Проект 6 сегодня
Челлендж состоит в том, что нужно прикрутить анимацию к сделанному ранее приложению Guess Flag
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1
Всем привет 👋
Сегодня нужно было самостоятельно сделать тренажёр для таблицы умножения.
Выбираете лимит для множителей и количество вопросов, затем предоставляется 3 варианта, где только 1 верный
В UI/UX я пока совсем мало что понимаю, и то, что хочется сделать - не получается
Задумка была похожая, но намного красивее.
Чувствую ограничение в доступных мне инструментах, и трудности настройки стилей 😕
Сегодня нужно было самостоятельно сделать тренажёр для таблицы умножения.
Выбираете лимит для множителей и количество вопросов, затем предоставляется 3 варианта, где только 1 верный
В UI/UX я пока совсем мало что понимаю, и то, что хочется сделать - не получается
Задумка была похожая, но намного красивее.
Чувствую ограничение в доступных мне инструментах, и трудности настройки стилей 😕
👍1🤔1
Я не мог нормально спать после такого разочарования, зато теперь я больше знаю про позиционирование View!
К тому же, освоил создание переиспользуемых View, где параметры передаются через
А еще я научился настраивать цвета в Assets💪
🔥 новый дизайн значительно лучше
👍 до этого тоже было нормально
К тому же, освоил создание переиспользуемых View, где параметры передаются через
@Binding
, что позволяет динамически изменять переданные значения.А еще я научился настраивать цвета в Assets
🔥 новый дизайн значительно лучше
👍 до этого тоже было нормально
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Бегло прочитал эту книгу т.к. большая часть тем мне известна, но что-то удалось оттуда подчерпнуть.
Основная претензия к оформлению листингов, тут это просто текст. Воспринимать их сложнее.
В целом книга больше похожа на справочник, а не учебное пособие, несмотря на наличие комментариев от автора. Заданий я тоже не нашел.
Есть и вторая книга, но она не входит в подписку, а покупать желания нет 😁, тем более она про UIKit, до которого я еще не дорос.
Буду продолжать курс hackingwithswift
Основная претензия к оформлению листингов, тут это просто текст. Воспринимать их сложнее.
В целом книга больше похожа на справочник, а не учебное пособие, несмотря на наличие комментариев от автора. Заданий я тоже не нашел.
Есть и вторая книга, но она не входит в подписку, а покупать желания нет 😁, тем более она про UIKit, до которого я еще не дорос.
Буду продолжать курс hackingwithswift
👍2👀1
Проект 7: Трекер расходов, разделенных на 2 типа: личные и бизнес
Day 36
🟢
Попробовал тут разобраться с внутренностью, пока всё сложно, есть какой-то
🟢 Решить проблему выше помогает
🟢
🟢
Day 37
В этом уроке мы применяли знания из предыдущего урока, чтобы наконец реализовать приложение
Дальше будет тест по материалу и челенж 🤘
#hackingwithswift
Day 36
@State
и class
по-умолчанию не работают вместе! @State
перестаёт замечать изменения меняются свойства, а не объект целиком.Попробовал тут разобраться с внутренностью, пока всё сложно, есть какой-то
StateStorage
, но в исходниках нет реализации… Это что-то абсолютно новое для меня. Очень хочу в этом разобраться #todo@Observable
, но ставится он над определением класса, и называется Макрос. @State
является Property Wrapper. В Kotlin и то, и другое называется Аннотация и обозначает одно и то же. В Swift по-другому.sheet
- окно, которое по своему функционалу больше похоже на модальное окно, но может содержать любой? контент. Опять же, непривычно, что показ окна основан на флаге, а не на событии/вызове функцииCodable
- инструмент сериализации/десериализации, но в текущей задаче его применение очень ограничено, и я не смог оценить его хоть в какой-то мереDay 37
В этом уроке мы применяли знания из предыдущего урока, чтобы наконец реализовать приложение
Дальше будет тест по материалу и челенж 🤘
#hackingwithswift
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2🆒1
И да, мне интересно получить обратную связь, ведь мы вместе уже больше трети 100 Days марафона! Дайте обратную связь 🙏
Anonymous Poll
78%
Всё круто, продолжай 💪
0%
Бросай это дело 🤮
22%
Нормально… 🫠