4
我有以下代碼:目標C:代碼瞭解
- (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),隱藏不存在?
或者另一種方式,我寧願是* BOOL hide =!sender.tag; * – 2013-04-30 22:15:57
@RamyAlZuhouri如果sender.tag是一個布爾值或者是/否語法,這將是最好的選擇。但是,由於'sender.tag'是一個具有數字含義的int,所以將其與零進行比較顯然會提高可讀性。 – dasblinkenlight 2013-04-30 22:17:56
這是一些非常糟糕的代碼,因爲它不是立即清楚明白髮生了什麼。你可以在C中看到這種東西(當然還有其他語言)。你應該重寫它是一個合適的if語句。 '布爾隱藏; if([sender tag] == 0){hide = YES; } else {hide = NO; }'你可以使用三元運算符,但這同樣會令人困惑。 – uchuugaka 2013-05-01 01:27:47