2015-07-23 13 views
5

Sto convertendo un progetto in Swift 2.0 e continuo a incontrare questo errore ovunque che sto usando una var lazy. Questo codice funziona perfettamente in 1.2, ma si rompe in 2.0:Errore 'chiusura finale inattesa' di Swift 2.0 con assegnazione lazy var

lazy private var placeholderImage = UIImage(named: "theImage") 

Ma, questo codice genera un errore 'chiusura finale inaspettato' in 2.0.

Seguendo i suggerimenti del Xcode per correggere l'errore, questo è ciò che esco con:

lazy private var placeholderImage: UIImage = UIImage(named: "theImage")! 

Questo compila e sembra funzionare, ma non capisco il motivo per cui il cambiamento era necessario, in primo luogo .

risposta

8

In Apple developer forum uno staff di Apple (ChrisLattner) ha detto:

Sì, questo è un bug noto (e spesso riportato) in cui l'inferenza di tipo non funziona correttamente con le proprietà pigri. Aggiungere il tipo esplicito annotazione è il modo migliore per aggirare questo per ora.

la questione è anche discusso in this Google group

+0

Grazie per il link! –

Problemi correlati