Sto convertendo un progetto in codice Swift e ho riscontrato un problema in un setter. Il mio codice Objective-C si presentava così:Swift - Custom setter sulla proprietà
- (void)setDocument:(MyDocument *)document
{
if (![_document isEqual:document]) {
_document = document;
[self useDocument];
}
}
e ha permesso la mia View Controller per eseguire questa operazione ogni volta che il documento è stato fissato (in genere nel metodo della View Controller presenta prepareForSegue:
).
Ho trovato gli osservatori di proprietà willSet
e didSet
ma funzionano solo quando la proprietà viene aggiornata, non quando è inizializzata e aggiornata.
Qualche idea? Grazie
UPDATE
dopo aver provato get {} e impostare {} ottengo l'errore EXC_BAD_ACCESS
var document: UIDocument? {
get {
return self.document!
}
set {
self.document = newValue
useDocument()
}
}
Non usare gli osservatori di proprietà. Usa get {} e ottieni {}. Controlla la sezione Proprietà calcolate [qui] (https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Properties.html). –