我刚刚将我的项目更新为Swift 2.
我的一个快速课程我使用ObjC协会.
我有以下内容:
objc_AssociationPolicy( OBJC_ASSOCIATION_RETAIN_NONATOMIC)
Run Code Online (Sandbox Code Playgroud)
自更新以来,编译器返回Use of unresolved identifier 'OBJC_ASSOCIATION_RETAIN_NONATOMIC'.
知道为什么吗?
编辑:对于那些有相同问题的人,临时修复就是将常量替换为其值即.1:objc_AssociationPolicy( rawValue: 1 )
jam*_*rez 44
如果查看obj c运行时swift标头,看起来这个结构已成为一个枚举:
/**
* Policies related to associative references.
* These are options to objc_setAssociatedObject()
*/
enum objc_AssociationPolicy : UInt {
case OBJC_ASSOCIATION_ASSIGN
case OBJC_ASSOCIATION_RETAIN_NONATOMIC
case OBJC_ASSOCIATION_COPY_NONATOMIC
case OBJC_ASSOCIATION_RETAIN
case OBJC_ASSOCIATION_COPY
}
Run Code Online (Sandbox Code Playgroud)
所以你可以用:替换objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC.
如果您需要将令牌作为UInt,则始终可以使用.rawValue.
(在之前的版本objc_AssociationPolicy中只是UInt的一个类型 - 具有转换'OBJC_ASSOCIATION_RETAIN_NONATOMIC',Int的效果)
| 归档时间: |
|
| 查看次数: |
5075 次 |
| 最近记录: |