NS_REFINED_FOR_SWIFT - ShenYj/ShenYj.github.io GitHub Wiki
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 的时候将做一些内外的工作, 将标记的方法导入为私有方法, 并以双下划线字符开头(__
)