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的氛围中有效地简化上述场景?
任何建议/想法/解决方案?干杯:)
编辑:作为参考,从这里采取的方案.我希望这个问题可能甚至可以节省一秒的贫困开发人员.
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的特定良好做法.
| 归档时间: |
|
| 查看次数: |
789 次 |
| 最近记录: |