我在cellForRowAtIndexPath
以下但不編譯因爲cell
的作用域是if語句。寫這個的正確方法是什麼?無法從後返回一個變量的「如果」塊中,我宣佈它
int val=indexPath.row % 2;
if(val==0) {
TRCell *cell = (TRCell*)[tableView dequeueReusableCellWithIdentifier:@"myCell"];
cell.topLabel.text = @"whatever";
cell.subLabel.text = @"down below";
} else {
TROddCell *cell = (TROddCell*)[tableView dequeueReusableCellWithIdentifier:@"cell2"];
cell.subLabel.text = @"down below in sub";
}
return cell;
如何在不工作?它既是「'TRCell'」&''TROddCell'「是從UITableViewCell的子類,你應該是完美的。 –
@MichaelDautermann他不好;他的代碼甚至不會編譯,因爲他試圖返回一個變量,這個變量對於他試圖返回的範圍來說是不可見的。 –
您不能在聲明它的範圍之外引用一個變量。期。請移動聲明或移動參考。 –