Практическое применение спинок в Swift
Из этого документа:
Чтобы использовать зарезервированное слово в качестве идентификатора, поставьте обратную косую черту (`) до и после нее.
Мне любопытно практическое применение этого. Когда вы на самом деле хотите назвать что-то `class`
, `self`
, так далее.?
Или, соответственно, почему разработчики Swift допустили это, а не просто запретили нам использовать зарезервированные слова в качестве идентификаторов?
2 ответа
Наиболее важным использованием является взаимодействие с другими языками, которые имеют другие ключевые слова.
Из Swift вы можете вызывать функции C и Obj-C.
Теперь рассмотрим, например, что вам нужно вызвать функцию C с именем guard
, Однако это ключевое слово в Swift, поэтому вы должны сообщить компилятору, что вы хотите использовать его не как ключевое слово, а как идентификатор, например:
`guard`()
В Swift есть несколько ключевых слов, которые широко используются в качестве имен методов / функций, например get
а также set
, Для многих контекстов Swift способен выяснить разницу, но не всегда.
В некоторых случаях использование guard дает нам хороший пример для этой цели. В таком сценарии мне нужно проверить время жизни самопеременной, если она больше не существует (текущий контроллер освобожден), я не хочу выполнять оставшуюся часть кода.
guard let `self` = self else {
return
}