Ich bin ein Konvertierungsprojekt in Swift-Code und stieß auf ein Problem in einem Setter. Meine Objective-C-Code sah wie folgt aus:Swift - Custom Setter auf Eigenschaft
- (void)setDocument:(MyDocument *)document
{
if (![_document isEqual:document]) {
_document = document;
[self useDocument];
}
}
und erlaubt mein View Controller diese jedes Mal das Dokument gesetzt wurde ausgeführt (in der Regel in der prepareForSegue:
Methode des präsentierenden-View-Controller).
Ich habe die Eigenschaft Beobachter willSet
und didSet
gefunden, aber sie funktionieren nur, wenn die Eigenschaft aktualisiert wird, nicht wenn es initialisiert und aktualisiert wird.
Irgendwelche Ideen? Dank
UPDATE
nach get versucht, {} und setzen {} Ich erhalte die EXC_BAD_ACCESS
Fehler
var document: UIDocument? {
get {
return self.document!
}
set {
self.document = newValue
useDocument()
}
}
nicht die Eigenschaft Beobachter anwenden. Verwenden Sie get {} und erhalten Sie {}. Weitere Informationen finden Sie im Abschnitt [Berechnete Eigenschaften] (https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Properties.html). –