如何识别Swift是否使用Optimization进行编译

Jee*_*eef 9 xcode swift

正如你们中的一些人在完全调试模式下运行时可能意识到的那样,swift可能非常慢.有没有办法可以在代码或GUI中打印出一条消息,让我知道我是否忘了正确地编译它.我正在以混合模式运行,所以如果有人能给我Objc和Swift代码那将是非常棒的.

谢谢!

jou*_*jou 11

我不认为您可以在运行时检测到这一点,但您可以使用DEBUG默认情况下在Debug配置中定义的预处理器宏(在Objective-C中):

#ifdef DEBUG
NSLog(@"I'm in debug mode!");
#endif
Run Code Online (Sandbox Code Playgroud)

这假设你没有在Release配置中没有优化的情况下进行编译:-)

如果要在Swift中检查它,则需要通过在Build设置中为Debug配置添加"Other Swift Flags" 来定义构建配置.然后,您可以在以下情况下检查该配置:-D DEBUG#if

#if DEBUG
println("I'm in debug mode!")
#endif
Run Code Online (Sandbox Code Playgroud)