Objective c NS\U SWIFT\U名称基本名称验证错误

Objective c NS\U SWIFT\U名称基本名称验证错误,objective-c,swift,swift3,Objective C,Swift,Swift3,我的头文件Test.h中有以下代码: 然后,我尝试将此接口导入我的swift源代码,但我得到以下警告:'swift\u name'属性的基名称标识符无效,此函数的swift名称仍处于测试状态。其他名称,如verif或verify1,效果非常好。 有什么想法吗?验证在中定义为宏: 对于另一个宏\u验证。因此,编译器 将定义预处理为(如您可以使用 产品->执行操作->预处理“Test.m”) 这绝对不是一个有效的Swift名称 使用不同的名称将是最简单的解决方案。否则,#取消定义ing宏 这是一个解

我的头文件Test.h中有以下代码:

然后,我尝试将此接口导入我的swift源代码,但我得到以下警告:'swift\u name'属性的基名称标识符无效,此函数的swift名称仍处于测试状态。其他名称,如verif或verify1,效果非常好。
有什么想法吗?

验证
中定义为宏:

对于另一个宏
\u验证
。因此,编译器
将定义预处理为(如您可以使用
产品->执行操作->预处理“Test.m”)

这绝对不是一个有效的Swift名称

使用不同的名称将是最简单的解决方案。否则,
#取消定义
ing宏 这是一个解决办法:

@interface Test : NSObject

#undef verify
- (void)test NS_SWIFT_NAME(verify());

@end
#import "Test.h"

@implementation Test

- (void)test {
    return;
}

@end
#ifndef verify
    #define verify(assertion) __Verify(assertion)
#endif
- (void)test __attribute__((swift_name("do { if ( __builtin_expect(!(), 0) ) { DebugAssert('?*?*', 0, \"Third Party Client\" \": \" \"\", 0, 0, \"/PathTo/Test.h\", 22, (void*)0); } } while ( 0 )")));
@interface Test : NSObject

#undef verify
- (void)test NS_SWIFT_NAME(verify());

@end