- 68
- 0
1,下面是一个初级程序员都写过的语句;比如x,y,z三个变量,分别控制A,B,C三个控件的显示与隐藏
x=5 的时候 {A隐藏,B不隐藏,C不隐藏}
y=6 的时候 {A隐藏,B隐藏,C不隐藏};
z=7 的时候 {A不隐藏,B不隐藏,C不隐藏}
正常写法:
-(void)initData
{
if (x == 5) {
self.aLab.hidden = YES;
self.bLab.hidden = NO;
self.cLab.hidden = NO;
}else if (y == 6){
self.aLab.hidden = YES;
self.bLab.hidden = NO;
self.cLab.hidden = YES;
}else if (z == 7){
self.aLab.hidden = NO;
self.bLab.hidden = NO;
self.cLab.hidden = YES;
}else{
}
}
但是实际你们在写项目的时候肯定都遇到过情况比这多好多的时候,比如用户是否登录,是够关注,是否购买,以及状态A的时候可能需要隐藏一些控件,状态B的时候需要隐藏另外一些控件,状态C,D等等更有甚者,需要第一个接口里边某个字段和第二个接口某个字段综合起来判断控件是否隐藏,所有种种的原因导致后来我自己都不知道当初的逻辑应该是什么样子。
所以我就想用下边这种写法:
-(void)setALabelStatus
{
self.aLab.hidden = (x == 5 || y == 6) ? YES : NO;
}
-(void)setBLabelStatus
{
self.bLab.hidden = (x == 5 || y == 6 || z == 7) ? NO : YES;
}
-(void)setCLabelStatus
{
self.cLab.hidden = (x == 6 || z == 7) ? YES : NO;
}
每个状态我都记录一个变量,你有10种情况,我就记录10个变量,但是我没见过有人这么写过
所以我想请教大神们:到底怎么写才是对的,对于这种条件特别多,而且条件里边套条件,应该怎么去写,大家可以在这个例子上任意的更改需求,不要局限这个例子,欢迎大家踊跃讨论
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
