我想在tabview cellForRowAtIndexPath中使用switch函数来改变表的内容
场景:标志变量应该选择案例并返回它的内容。
错误:我必须使用返回单元格外侧的开关功能,如果我使用它仍然给我错误。
switch (flag){
case 0 :
let cell:mineCell = tableView.dequeueReusableCellWithIdentifier("mineCell")as! mineCell
// User Name on cells
cell.usernameLabel.text = creator[indexPath.row]
//function
else {
print(error)
}
}
return cell
break
case 1 :
let cell:followingCell = tableView.dequeueReusableCellWithIdentifier("followingCell")as! followingCell
// User Name on cells
cell.followingNameLabel.text = creator[indexPath.row]
//ffuntion
else {
print(error)
}
}
return cell
break
case 2 :
//funtion
break
default:
break
}
//*HERE i have to use return cell but if i use it will give me error in somehow *
}
答案 0 :(得分:1)
在cellForRow
方法
switch (flag){
case 0 :
let cell:mineCell = tableView.dequeueReusableCellWithIdentifier("mineCell")as! mineCell
// User Name on cells
cell.usernameLabel.text = creator[indexPath.row]
//function
else {
print(error)
}
}
return cell
break
case 1 :
let cell:followingCell = tableView.dequeueReusableCellWithIdentifier("followingCell")as! followingCell
// User Name on cells
cell.followingNameLabel.text = creator[indexPath.row]
//ffuntion
else {
print(error)
}
}
return cell
break
}
}
希望它有所帮助。
答案 1 :(得分:0)
您的cellForRowAtIndexPath
必须在每种可能的情况下返回UITableViewCell
对象或其子类。因此,您必须在默认情况下返回UITableViewCell()
以消除错误。
答案 2 :(得分:-1)
首先,您需要在全局声明UITableViewCell
对象。
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell:UITableViewCell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell
switch (flag) {
case 0 :
{
cell = tableView.dequeueReusableCellWithIdentifier("mineCell")as! mineCell
// User Name on cells
cell.usernameLabel.text = creator[indexPath.row]
//function
if()
{
}else {
print(error)
}
return cell
}
break
case 1 :
{
cell = tableView.dequeueReusableCellWithIdentifier("followingCell")as! followingCell
// User Name on cells
cell.followingNameLabel.text = creator[indexPath.row]
//ffuntion
if()
{
}
else {
print(error)
}
return cell
}
break
default:
break
}
return cell
}