Powiedzmy chcę init
na UIView
podklasy z String
i Int
.
Jak mam to zrobić w Swift, skoro tylko podklasuję UIView
? Jeśli po prostu init()
utworzę funkcję niestandardową, ale parametry to String i Int, to mówi mi, że „super.init () nie jest wywoływana przed powrotem z inicjatora”.
A jeśli zadzwonię super.init()
, powiedziano mi, że muszę użyć wyznaczonego inicjatora. Czego mam tam używać? Wersja ramowa? Wersja kodera? Obie? Czemu?
var
. Ale domyślną najlepszą praktyką w Swift jest deklarowanie zmiennych,let
chyba że istnieje powód, aby je zadeklarowaćvar
. W związku z tym w powyższym przykładzie kodu nie było takiego powodulet
.