Swift 2:OBJC_ASSOCIATION_RETAIN_NONATOMIC使用未解析的标识符

前端之家收集整理的这篇文章主要介绍了Swift 2:OBJC_ASSOCIATION_RETAIN_NONATOMIC使用未解析的标识符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚刚将我的项目更新为Swift 2。

我是我的一个快速课我使用ObjC协会。

我有以下几点:

  1. objc_AssociationPolicy( OBJC_ASSOCIATION_RETAIN_NONATOMIC)

自更新以来,编译器返回使用未解析的标识符“OBJC_ASSOCIATION_RETAIN_NONATOMIC”。

任何想法为什么?

编辑:
对于那些有同样问题的人,暂时的修复将是用它的值替换常量。 1:objc_AssociationPolicy(rawValue:1)

如果您查看对象运行时swift头,似乎这个构造已经成为一个枚举:
  1. /**
  2. * Policies related to associative references.
  3. * These are options to objc_setAssociatedObject()
  4. */
  5. enum objc_AssociationPolicy : UInt {
  6.  
  7. case OBJC_ASSOCIATION_ASSIGN
  8. case OBJC_ASSOCIATION_RETAIN_NONATOMIC
  9.  
  10. case OBJC_ASSOCIATION_COPY_NONATOMIC
  11.  
  12. case OBJC_ASSOCIATION_RETAIN
  13.  
  14. case OBJC_ASSOCIATION_COPY
  15. }

所以你可以用:objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC替换。

如果您需要令牌作为UInt,您可以随时使用.rawValue。

(在之前的版本中,objc_AssociationPolicy只是UInt的一个typealias,具有转换“OBJC_ASSOCIATION_RETAIN_NONATOMIC”的效果,一个Int)

猜你在找的Swift相关文章