4

我有以下代码:

- (IBAction)buttonSectionPressed:(id)sender {

    if ([self.switchReloadOnlyDontToggleVissibility isOn]) {
        [self updateCells:self.section2Cells];
    } else {
        BOOL hide = ([sender tag] == 0);
        [self cells:self.section2Cells setHidden:hide];
    }

    [self reloadDataAnimated:([self.switchAnimated isOn])];
}

我有一个问题

BOOL hide = ([sender tag] == 0);

是否检查 (sender.tag == 0) 然后将其分配为隐藏?所以,(如果 sender.tag != 0),隐藏不存在?

4

1 回答 1

8

此表达式的工作原理如下:

  • 评估[sender tag]
  • 将结果与零进行比较
  • 如果结果为零,hide则设置为YES; 否则,设置为NO

这也可以通过使用属性语法的等效表达式来完成:

BOOL hide = (sender.tag == 0);

最后,您可以完全删除该hide变量:

[self cells:self.section2Cells setHidden:(sender.tag == 0)];
于 2013-04-30T22:11:58.050 回答