我正在扩展Swift 2.0中的一些类来使用ReactiveCocoa 3.0(swift-2.0分支),但是遇到了一些麻烦.
我跟随了Colin Eberhardt的教程,并将他的部分UIKit扩展逻辑复制粘贴到我的OS X应用程序中.除了这个属性之外,它都编译得很好:UInt(OBJC_ASSOCIATION_RETAIN),这给了我以下编译器错误.
使用未解析的标识符
我怎样才能访问这个属性?我试过import ObjectiveC并#import <objc/runtime.h>在头文件中,但似乎没有任何工作.
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
}()
}
Run Code Online (Sandbox Code Playgroud)