ПОДДЕРЖКА: @discardableResult в Swift

Избавьтесь от этого надоедливого предупреждения

Фото Дилана Нолти на Unsplash

Сложность: Начинающий | Легко | Нормальный | Испытывающий

Это одна из тех вещей. Swift выдает предупреждение, и вы можете изменить фрагмент кода, чтобы подавить предупреждение.

Вы меняете это, и жизнь продолжается.

Затем вы обнаруживаете, что атрибут может вам помочь.

Это бинго.

Предпосылки:

  • Уметь создать «Hello, World!» Приложение для iOS (руководство ЗДЕСЬ ) ИЛИ Кодирование в Swift Playgrounds (руководство ЗДЕСЬ )

атрибут: способ предоставления информации об объявлении типа

Случай для @discardableResult

В моем посте на Medium о защите данных в связке ключей у меня была довольно приятная функция, которая возвращает OSStatus после завершения операции сохранения.

Вот сигнатура функции:

func save(key: String, data: Data) -> OSStatus

Предупреждение полностью? Инициализация неизменяемого значения status никогда не использовалась; подумайте о замене присвоением '_' или его удалении

Чтобы решить эту проблему, я использую подчеркивание в Swift.

_ = kc.save(key: "MyString", data: data)

Не совсем, и это убирает все предупреждения. Ницца. Но есть другой способ обойти это. Лучший способ,

@discardableResult

В функцию (и, особенно, не в какой-либо связанный протокол) attributeдобавляется. Чтобы сделать это немного понятнее, я воспользуюсь сутью измененной функции

Который мы затем можем вызвать, но, что особенно важно, мы можем (хорошо) отбросить результат .

это означает, что мы можем позвонить

Никаких ошибок: просто легкая жизнь.

О, и изменение моего фактического кода? См. Следующий анимированный gif:

Насколько это было легко?

Я бы сказал, слишком просто.

Почему я не делал этого раньше ??

Заключение:

Если вы создаете общедоступный API, результат которого вряд ли будет использоваться (по крайней мере, большую часть времени), attribute@discardableResult дает отличный способ избежать того, чтобы ваш клиент использовал _ для отключения этого раздражающего предупреждения.

Это ничего не стоит и упрощает чтение кода.

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

«Мы всегда программируем с ограниченным мышлением», - сказал кто-то, неправильно цитирующий Эдварда Де Боно. Так что это не будет проблемой, и @discardableResult - отличный вариант attributeдля нашего арсенала кодирования.

Расширьте свои знания

  • У Apple есть документация по атрибутам ЗДЕСЬ

Любые вопросы? Вы можете связаться со мной ЗДЕСЬ

Suggested posts

«Этот маленький остров меняет все»

Как мы разработали Lyft Live Activity, чтобы повысить качество обслуживания пассажиров

«Этот маленький остров меняет все»

Карьера в корне меняет правила игры Из всего, что мы делаем в Lyft, постановка пикапов между пассажирами и водителями — одна из самых сложных и важных. Успех этой хореографии зависит от того, насколько хорошо Lyft справляется со многими задачами, но важно просто держать райдеров в курсе.

Мои наиболее используемые ресурсы кодирования

Мои наиболее используемые ресурсы кодирования

На этой неделе я получил электронное письмо от участника ежедневного списка рассылки. Они хотели знать: какие ресурсы вы посещаете ежедневно, еженедельно и ежемесячно? Отличный вопрос! Я рад поделиться некоторыми мыслями о моем рабочем процессе и основных ресурсах, которые я использую.

Related posts

Революция на рабочем месте: ведущие эксперты обсуждают гибридную и удаленную работу

Революция на рабочем месте: ведущие эксперты обсуждают гибридную и удаленную работу

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

Создание безопасной рабочей среды

Создание безопасной рабочей среды

«Он защитит меня, когда я в опасности. Он спрячет меня в своей палатке.

«Обнаруженная Марианская впадина: раскрытие ужасающих скрытых истин бездны»

«Обнаруженная Марианская впадина: раскрытие ужасающих скрытых истин бездны»

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

Что вы можете сделать в свой сезон ожидания (в ожидании вашей первой работы в сфере технологий)

Что вы можете сделать в свой сезон ожидания (в ожидании вашей первой работы в сфере технологий)

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