例如我想爲不同的屏幕尺寸設置不同的單元格高度。在一個UITableView數據源的方法:是否有一種簡單的方法在循環/重複運行方法中只賦值一次(第一次)?
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
defaultHeight = self.view.frame.size.height > 480 ? 38 : 32;
// how to let something like the right side of the = run just once?
if (indexPath.row == 0) {// no need to remove.
...// do something
return 20;
}else {
...// do something else
return defaultHeight;
}
}
是否有一個通用的機制來分配defaultHeight只有一次,而無需添加額外的「如果其他人」(只是想知道有沒有一些方法,我錯過了)?並且在反覆調用的方法內部保持代碼結構簡單易行,並且不需要在什麼時候初始化。
「if else」有什麼問題?如果清楚代碼是如何工作的,那很好。僅僅減少代碼行數是沒有好處的,尤其是以犧牲清晰度爲代價。如果您試圖使方法更快:不要,至少在性能問題出現之前,通過分析您知道這是一個問題。 – zaph
你說這個循環在哪裏? – rmaddy
@rmaddy我應該說反覆調用的方法。 – Al3n