2016-07-22 15 views
8

Od this document:Praktyczne zastosowanie backticks w Swift

Aby użyć słowa zastrzeżonego jako identyfikator, umieścić znaku odwróconego apostrofu (`) przed i po nim.

Ciekawi mnie praktyczne zastosowanie tego. Kiedy naprawdę chciałbyś nazwać coś, co jest `class`, `self` itd.?

A może, z drugiej strony, dlaczego projektanci Swift na to zezwolili, a nie tylko zabraniają nam używać zastrzeżonych słów jako identyfikatorów?

+0

Twórcami szybkich są wszyscy. Jest open source i jest pod silnym wpływem społeczności. Musiało więc istnieć wystarczające dowody potwierdzające możliwość kogoś, kto chce to zrobić. – TheValyreanGroup

+1

Ta funkcja przydała mi się przy automatycznym generowaniu kodu Swift z danych, które nie zostały zaprojektowane do tego celu. Na przykład tworzenie struktury odpowiadającej elementowi XML, który miał atrybut "rozszerzenie": struct nazwa pliku {var'extension' = "txt"}. Standardowy sposób radzenia sobie z tym jest lepszy niż konieczność zdefiniowania własnego schematu, który nie jest odporny na uszkodzenia, na przykład za pomocą "_rozszerzenia". –

Odpowiedz

13

Najważniejszym zastosowaniem jest interakcja z innymi językami, które mają różne słowa kluczowe.

Z Swift można wywoływać funkcje C i Obj-C.

Teraz, na przykład, musisz wywołać funkcję C o nazwie guard. Jednakże, to jest kluczowe w Swift, dlatego trzeba poinformować kompilator, że nie chcesz go używać jako słowo kluczowe, ale jako identyfikator, np

`guard`() 

Istnieje wiele słów kluczowych w systemie SWIFT, które są szeroko stosowane jako nazwy metod/funkcji, np get i set. W wielu kontekstach Swift potrafi odróżnić różnicę, ale nie zawsze.

4

w niektórych przypadkach za pomocą strażnika daje nam dobry przykład w tym celu. W takim scenerii potrzebuję sprawdzić zmienną własną żywotność, jeśli już nie istnieje (obecny kontroler deallocated) nie chcę wykonywać reszty kodu.

guard let `self` = self else { 
     return 
} 
Powiązane problemy