Ich erweitere einige Klassen in Swift 2.0, um mit ReactiveCocoa 3.0 (Swift-2.0-Zweig) zu arbeiten, habe aber einige Probleme bekommen.Swift 2.0 Replikat OBJC_ASSOCIATION_RETAIN
Ich habe Colin Eberhardt's tutorial gefolgt, und kopiere einige seiner UIKit extension logic über meine OS X App. Alles zusammen kompiliert, abgesehen von dieser Eigenschaft: UInt(OBJC_ASSOCIATION_RETAIN)
, die mir den folgenden Compiler-Fehler gibt.
Verwendung von ungelöster Kennung
Wie kann ich diese Eigenschaft zugreifen? Ich habe versucht, import ObjectiveC
und #import <objc/runtime.h>
in der Header-Datei, aber nichts scheint zu funktionieren.
func lazyAssociatedProperty<T: AnyObject>(host: AnyObject, key: UnsafePointer<Void>, factory:()->T) -> T {
return objc_getAssociatedObject(host, key) as? T ?? {
let associatedProperty = factory()
objc_setAssociatedObject(host, key, associatedProperty, UInt(OBJC_ASSOCIATION_RETAIN)) // <-- Use of unresolved identifier
return associatedProperty
}()
}