NS_REFINED_FOR_SWIFT - ShenYj/ShenYj.github.io GitHub Wiki

NS_REFINED_FOR_SWIFT

NS_REFINED_FOR_SWIFT 宏指令是Xcode 7.0 推出的

用它所标记的方法和变量在 Objective-C 中可以正常使用,但 bridge 到 Swift 语言时,编译器会在名称前加上__,注意是双下划线。

  • e.g.

    + (void)test_extension NS_REFINED_FOR_SWIFT;
    

    Swift 中使用时

    OCClass.__test_extension()

    如果执意按照原名称写,会得到错误警告: Type 'OCClass' has no member 'test_extension'

使用 NS_REFINED_FOR_SWIFT 编译器在 import 的时候将做一些内外的工作, 将标记的方法导入为私有方法, 并以双下划线字符开头(__)

⚠️ **GitHub.com Fallback** ⚠️