我创建了一个新的Swift项目并决定使用" Bridging Header" XCode的功能是使用几个Objective-C文件。
一切正常,除了一个特定的标题,当包含在桥接中时,抛出:
<unknown>:0: error: something/include/SomeClass.h:269: expected ';' after method prototype
看一下这行,代码看起来像是:
-(void) searchField:(NSString*) searchField
notBetween:(NSNumber*) number1
and:(NSNumber*) number2;
如果我将单词and
更改为其他任何内容(qwerty
),编译错误就会消失!
相同的代码适用于Objective-C项目。
思想?
答案 0 :(得分:0)
and
是一个C(++)宏,在&lt; iso646&gt ;.
您不应该在Swift外部导出的Swift代码中使用C / C ++ / Objective-C关键字和宏名称。在与C系列交互时,这是大多数语言的经验法则。
答案 1 :(得分:0)
这是一个在Beta 5中修复的错误。