Товарные знаки принадлежат их владельцам. KissMySkills не связан с ними и не одобрен ими.
Как это работает
Ask it something hard.
📎 ai-swift-tutor.txtLOADED ✓
Моё приложение аварийно завершается из-за неожиданно обнаруженного значения nil при раскрытии Optional. Объясни мне, почему.
CLAUDE · WITH THIS SKILLВы получаете: запрос проблемной строки и объявления каждой переменной в ней -> вопрос о том, какие из них могут быть nil и кто должен их устанавливать -> ваш ответ, свойство, заданное при асинхронной загрузке -> краткое объяснение того, что принудительное извлечение значения просит среду выполнения гарантировать -> разобранный пример с другим типом, где рядом показаны if let, guard let и объединение с nil -> ваша очередь: перепишите строку так, чтобы представлению было что показывать, пока значение всё ещё равно nil -> вы используете ?? с пустой строкой -> система спрашивает, действительно ли пользователю нужно видеть пустую строку или у представления есть два состояния -> вы моделируете это как перечисление -> названная концепция: опциональность - это состояние, которое нужно учитывать при проектировании -> следующее действие: удалите остальные три принудительных извлечения значений в файле.
Есть вопросы до покупки? Ответит живой человек, обычно в тот же день: hello@kissmyskills.com
// сам файл
Прочитайте до покупки.
Первые строки файла, который прочитает ваш ИИ, ровно в том виде, в каком вы его получите. Ничего не переписано для страницы.
Обращайтесь по имени Когда файл загружен, обращайтесь к нему по имени: «Serge, посмотри эту страницу.» Для этого имя и нужно. Так несколько скиллов в одном чате не путаются.
// skill, на котором работает ваш ИИ
Вы - сократический наставник по Swift, а ученик пишет код в Xcode, пока вы работаете с сообщением компилятора и журналом сбоя, которые он вставляет. Вы активированы, чтобы помочь разобраться с опциональными значениями, владением состоянием и async/await, избавив их от догадок.
KissMySkills.com | Установка: вставьте весь этот файл в Claude Projects (инструкции проекта), пользовательский GPT (инструкции), Gemini Gem или системный prompt вашего AI. Затем скажите ему, что вы хотите изучить. Вы - преподаватель Swift, использующий метод Сократа. Вы не можете открыть Xcode, собрать проект, запустить симулятор или увидеть предпросмотр. Скажите об этом в первом ответе, затем работайте с сообщениями компилятора и журналами сбоев, которые вставляет учащийся. Ваша задача - научить его самостоятельно писать код на Swift и находить в нём ошибки. Вы точно используете названия API и никогда не пишете приложение, которое ему поручили создать. · Опциональные значения - первая настоящая преграда: Optional как тип, if let, guard let, optional chaining, nil coalescing, force unwrap как обещание, которое может не выполниться. · Типы-значения и ссылочные типы: struct копируется, class хранит ссылки, изменяющие методы, let для struct делает всё значение неизменяемым. Выбирайте тип по поведению при копировании, а не по привычке. · Протоколы и расширения протоколов, обобщения с ограничениями, связанные типы, непрозрачные возвращаемые типы. · Ошибки: throws, do try catch, try? и try!, Result, а также случаи, когда optional подходит лучше ошибки. · Замыкания: escaping и non-escaping, списки захвата и [weak self] как следствие работы ARC, а не ритуал. · ARC: strong, weak и unowned, а также цикл удержания, который создаётся замыканием, удерживающим self. · SwiftUI: протокол View, body как описание, а не команда, и владение состоянием. State для локального состояния, Binding для заимствованного, Observable для общего, Environment для контекста. · Идентичность представлений: почему списку нужны стабильные идентификаторы и что удаляет изменение id. · Конкурентность: async await, Task, MainActor, actors, Sendable и более строгая проверка в Swift 6. · Стандартная библиотека: Array, Dictionary, Set, map, filter, reduce и индексы String, в отличие от большинства языков. · Инструменты: Xcode, предпросмотры, симулятор, Swift Package Manager, Playgrounds. · Важные сообщения компилятора: Unexpectedly found nil while unwrapping an Optional value, Cannot use mutating member on immutable value.
Строк: 112 · .txt · мгновенная загрузка
// что внутри
Что внутри этого навыка
Опциональные значения изучены до тех пор, пока принудительная распаковка не перестанет казаться нормой
Структуры и классы выбираются по поведению при копировании, а не по привычке
Владение состоянием в SwiftUI: State, Binding, Observable, Environment
Циклы удержания и weak self объяснены через то, что учитывает ARC
Разработчики с опытом работы на других языках, начинающие разрабатывать для iOS, студенты, создающие своё первое приложение, и все, кто завершил учебник по SwiftUI, но остановился на собственном проекте.
// два способа получить
Пользуйтесь прямо в ИИ или скачайте один раз.
Тариф Library
Этот скилл и ещё 2 500+, прямо в вашем чате
$9/месотмена в любой момент, или $59 в год
Все 2 500+ скиллов, наборов промптов и агентов загружаются, как только вы попросите
Ничего не нужно скачивать и вставлять: подключитесь один раз в Claude, ChatGPT, Claude Code или Cursor
Новые скиллы каждую неделю и 10 файлов из каталога в месяц для скачивания
Товарные знаки принадлежат их владельцам. KissMySkills не связан с ними и не одобрен ими.
Что вы на самом деле покупаете
Вы хотите изучить Swift, поэтому прошли курс по SwiftUI, но ничего не выпустили, а приложение, которое вы начали создавать, падает из-за принудительной распаковки, смысл которой вы понимаете не до конца. Swift подаёт самые сложные темы в самом начале: опционалы, семантику значений и владение состоянием. Этот файл поможет не торопиться с ними.
Вставьте файл в Claude, ChatGPT или Gemini, и он определит ваш уровень одним вопросом об опционалах. Затем запустится план: опционалы и безопасная распаковка, структуры и классы и значение копирования, протоколы и расширения, ошибки с throws и Result, замыкания и списки захвата, ARC и циклы удержания, владение состоянием в SwiftUI с помощью State, Binding и Observable, затем async await и акторы. Он не может открыть Xcode или запустить симулятор и прямо об этом скажет. Вы собираете проект, вставляете точное сообщение компилятора, а он спрашивает, от чего компилятор вас защищает, прежде чем предложить исправление.
Одинаковое поведение в Claude, ChatGPT и Gemini. Одна покупка, без подписки, настройка занимает столько же времени, сколько вставка файла. Подходит к AI Skill for Swift - рабочему помощнику на случай, когда вы уже знаете основы; этот файл как раз обучает им.
// как установить
Меньше 2 минут
Четыре шага. Любой чат AI.
01
Скачайте файл
После оплаты ссылка на скачивание придёт на вашу почту. Сохраните файл .txt в любое место на устройстве.
02
Откройте свой чат AI
Любой ИИ-чат, которым вы уже пользуетесь: Claude, ChatGPT, Gemini, Grok, Copilot или другой.
03
Вставьте промпт
Откройте файл .txt, скопируйте раздел с промптом и вставьте его в Claude или ChatGPT - или добавьте в проект, чтобы он всегда был под рукой.
04
Начать работу
Ваш AI теперь настроен как специалист. Задавайте ему любые вопросы в его области.
Технические знания не требуются.
С Library ничего не нужно скачивать. Подключите ИИ один раз, а потом просите любой скилл по названию.
Как мне изучать Swift с помощью этого файла, если в нём нельзя запустить Xcode?+
В нём нет Xcode, симулятора и возможности собрать ваш проект, и об этом сразу сказано. Вы пишете и запускаете код. Файл просит точное сообщение компилятора об ошибке или сбое и работает, опираясь на него. На практике это полезное разделение ролей: Xcode сообщает, что не так, а репетитор помогает понять почему, прежде чем вы что-либо измените.
Он напишет моё приложение за меня?+
Нет. Он пишет небольшие примеры с типами, которые не относятся к вашему коду, а затем возвращает задачу вам. Для вашего кода он указывает на строку и спрашивает, от чего компилятор пытается вас защитить. Ошибка «Нельзя использовать изменяющий член для неизменяемого значения» - это настоящий урок о типах-значениях, и объяснение этой ошибки ценнее, чем её безмолвное исправление.
Охватывает ли он SwiftUI и параллелизм Swift или только язык?+
Сначала язык, потому что SwiftUI не имеет смысла без типов-значений и опциональных типов. Затем владение состоянием в SwiftUI, идентичность представлений и предпросмотры, а потом async await, Task, MainActor и акторы, включая более строгую проверку параллелизма в Swift 6. Он тщательно называет API или говорит, что не уверен, и направляет вас к документации Apple.
Мне нужно читать его самому?+
Нет. Файл написан для того, чтобы его прочитал ваш AI, а не вы. Загрузите его или вставьте один раз, и AI возьмёт на себя эту роль. После этого вы просто задаёте ему вопросы так, как обычно. Вы можете открыть файл и прочитать его, но от этого ничего не зависит.
Готовы специализировать свой AI?
Этот и ещё 2 500+ — прямо в Claude, ChatGPT, Claude Code, Codex или Cursor. Отмена в любой момент.