Общие вопросы
Смешанные вопросы по Swift.
Открыть разделБаза Hintsage
Язык Swift и разработка приложений в экосистеме Apple.
Темы раздела
Смешанные вопросы по Swift.
Открыть разделТипы, функции, структуры, классы и базовая семантика.
Открыть разделOptionals, value/reference semantics, casting и pattern matching.
Открыть разделProtocols, extensions, associated types и generic constraints.
Открыть разделCollections, closures, map/filter/reduce и sequences.
Открыть разделARC, reference cycles, weak/unowned и время жизни объектов.
Открыть разделasync/await, actors, tasks и безопасность данных.
Открыть разделthrows, Result, defer и моделирование ошибок.
Открыть разделПрактика
Как ведёт себя unowned-ссылка, скопированная вместе со структурой, если исходный объект позже уничтожен?
Верно ли, что сохранённый метатип класса продлевает жизнь его экземпляра?
Верно ли, что каждая сильная ссылка в Swift увеличивает доступный счётчик ссылок объекта ровно на единицу?
Достаточно ли отменить долгоживущую Task, чтобы захваченный ею объект сразу стал доступен для ARC?
Во время выполнения метода может ли экземпляр исчезнуть до возврата, если метод обнуляет последнюю внешнюю сильную ссылку?
Меняет ли аннотация @Sendable способ владения захваченным экземпляром класса?
Удерживает ли словарь экземпляр класса, сохранённый в качестве ключа?
В async-функции локальная сильная ссылка на объект не используется после await. Обязан ли ARC удерживать объект во время приостановки?
Сравнение: влияет ли объявление класса как final на время жизни его экземпляров под управлением ARC?
Когда ARC начинает учитывать время жизни экземпляра, возвращаемого выражением @autoclosure, переданным escaping-параметру?
У владельца сохранён таймер, чей callback захватывает этого владельца. Как разорвать цикл владения, не удерживая владельца таймером?
Гарантирует ли взаимный вызов двух actors через await взаимную блокировку?
Защищает ли actor глобальную изменяемую переменную от гонок данных?
В AsyncStream с политикой bufferingNewest(1) будет ли быстрый производитель ждать, пока медленный потребитель освободит буфер?
В API Swift параметр помечен sending: какую гарантию должен обеспечить вызывающий код после передачи значения?
При создании обычной Task внутри задачи с повышенным приоритетом какой приоритет получит новая задача, если явно его не задать?
Требуется атомарно изменить общее состояние из синхронного кода без await: почему для этого выбирают Mutex, а не actor?
Практическая ситуация: наследует ли дочерняя задача TaskGroup изоляцию MainActor при добавлении из метода, изолированного MainActor?
Разберите жизненный цикл AsyncStream: когда отмена потребляющей задачи приводит к вызову onTermination?
Остаётся ли TaskGroup пригодной для добавления задач после выхода из области withTaskGroup?
Показано 541–560 из 651