Hat jemand erfolgreich einen benutzerdefinierten NSValueTransformer in xcode 6 beta mit swift implementiert?Benutzerdefinierter NSValueTransformer in xcode 6 mit swift
Ich habe folgende swift Klasse:
import Foundation
class myTransformer: NSValueTransformer {
let amount = 100
override class func transformedValueClass() -> AnyClass!
{
return NSNumber.self
}
override func transformedValue(value: AnyObject!) -> AnyObject! {
return value.integerValue + amount
}
}
Also das alles Transformator tun sollten, 100 auf einen bestimmten Wert in der gui hinzufügen.
Wie Sie sehen können, erscheint die Transformatorklasse jetzt in der Dropdownliste Wertumwandler in IB.
Aber wenn ich wählen diese Transformator die Anwendung abstürzt mit:
2014-08-27 20:12:17.686 cdTest[44134:303]
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException',
reason: 'Cannot find value transformer with name newTransformer'
Ist es richtig, diesen Transformator im AppDelegate mit
override class func initialize() {
let newTransformer = myTransformer()
}
registrieren
Wer weiß, wie diese Das ganze Zeug sollte funktionieren?
Mit freundlichen Grüßen! martin
Ich würde vermuten, dass es der schnelle Name Mangling ist. Versuchen Sie es mit @objc zu deklarieren, um das zu umgehen. –