什么是在Objective-C中在零和非零整数值之间切换的最快方法?

MrD*_*ase 1 performance objective-c

我在一些Objective-C代码中有一个整数"myInt".myInt用作布尔值...因此我只对零值或非零值感兴趣.我想快速在零和非零值之间切换.最快的方法是什么?

这是我到目前为止所尝试的:(所有这些工作)

试试1:

// myInt is initialized to 0
if(myInt == 0){
    myInt = 1;
}else{
    myInt = 0;
}
Run Code Online (Sandbox Code Playgroud)

试试2:

myInt = !myInt;
Run Code Online (Sandbox Code Playgroud)

尝试3:

myInt ^= 0xffffffff;
Run Code Online (Sandbox Code Playgroud)

我意识到我可以用一个分析器来测量性能...但是我决定在SO上问,因为我希望其他人(我自己)可以从这个问题所激发的讨论中学到一些东西.

Dav*_*wsy 5

尝试2是最紧凑,最干净,更易于维护.为什么第二次猜测编译器的优化?