如果在ios中的陈述,避免太多的最佳实践

ite*_*ian -5 if-statement objective-c nsdictionary llvm ios

你们都可能遇到过如下情况:

-(int) fightMath(int one, int two) {

if(one == 0 && two == 0) { result = 0; }
else if(one == 0 && two == 1) { result = 0; }
else if(one == 0 && two == 2) { result = 1; }
else if(one == 0 && two == 3) { result = 2; }
else if(one == 1 && two == 0) { result = 0; }
else if(one == 1 && two == 1) { result = 0; }
else if(one == 1 && two == 2) { result = 2; }
else if(one == 1 && two == 3) { result = 1; }
else if(one == 2 && two == 0) { result = 2; }
else if(one == 2 && two == 1) { result = 1; }
else if(one == 2 && two == 2) { result = 3; }
else if(one == 2 && two == 3) { result = 3; }
else if(one == 3 && two == 0) { result = 1; }
else if(one == 3 && two == 1) { result = 2; }
else if(one == 3 && two == 2) { result = 3; }
else if(one == 3 && two == 3) { result = 3; }

return result;
Run Code Online (Sandbox Code Playgroud)

}

简而言之,如何在Objective-C的氛围中有效地简化上述场景?

任何建议/想法/解决方案?干杯:)

编辑:作为参考,从这里采取的方案.我希望这个问题可能甚至可以节省一秒的贫困开发人员.

Avt*_*Avt 6

Objective C是基于C构建的.所以任何好的C解决方案都适用于Objective C.

int result[][4] = {
    { 0, 0, 1, 2 },
    { 0, 0, 2, 1 },
    { 2, 1, 3, 3 },
    { 1, 2, 3, 3 }
};
return result[one][two]
Run Code Online (Sandbox Code Playgroud)

据我所知,这些问题没有针对客观C的特定良好做法.