2015-02-09 10 views
7

Jeśli oświadczam pusty obraz:Wyczyść opcjonalna zmienna w Swift

var myImage: UIImage? 

a następnie nadać mu wartość:

myImage = UIImage(named: "drawing.png") 

Jak mogę później usunąć tę wartość, odsyłając je do swojego pierwotnego pusty stan?

Odpowiedz

5
var myImage: UIImage? 

jest w zasadzie krótki ręka do tworzenia punktu UIImage do nil automatycznie.

Tak, aby przywrócić go z powrotem do pierwotnej wartości powiedzieć:

myImage = nil 
2

ustawić jej wartość z powrotem do zera jak to

myImage = nil 
2

Wystarczy przypisać nil do niego:

myImage = nil 
2

Optional jest enum wpisz Swift; ma dwa przypadki:

enum Optional<T> : NilLiteralConvertible { 
    case None 
    case Some(T) 
    ... 
} 

Poprzez przypisanie obrazu do Optional<UIImage>, zostały określone w sposób dorozumiany .Some(image). Aby to wyczyścić, możesz użyć .None. Ale ponieważ Optional jest również zgodny z NilLiteralConvertible, można użyć prostszego i bardziej przejrzystego modelu: nil.