Pad*_*215 0 iphone objective-c ios
我有一个两个深的if声明,我想知道我是否可以压缩到单个if stmt:
if ([[myScrollView.subviews objectAtIndex:k] isKindOfClass:[UILabel class]])
{
if (((UILabel *)[myScrollView.subviews objectAtIndex:k]).tag >= i)
{
//code
}
}
Run Code Online (Sandbox Code Playgroud)
我不确定我是否可以进入:
if ([[myScrollView.subviews objectAtIndex:k] isKindOfClass:[UILabel class]] && ((UILabel *)[myScrollView.subviews objectAtIndex:k]).tag >= i)
Run Code Online (Sandbox Code Playgroud)
因为第二个if条件依赖于第一个(如果它不是UILabel并且没有.tag值)可能会发生坏事吗?
您可以将它们组合起来,是的.如果第一个语句失败,那么它将使整个if语句失败并且不执行第二个部分.
为了便于阅读,我可能会这样写:
if ([[myScrollView.subviews objectAtIndex:k] isKindOfClass:[UILabel class]] &&
((UILabel *)[myScrollView.subviews objectAtIndex:k]).tag >= i)
{
// code
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
93 次 |
| 最近记录: |