我有tableview
想要根据数据源标识符显示不同的UITableViewCell's
。
这是我的代码:
func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {
var cell : AnyObject
var itemDic = items.objectAtIndex(indexPath.row) as! [String : String];
switch itemDic["celltype"]! as String {
case "dash":
cell = tblGraphs.dequeueReusableCellWithIdentifier("DashboardCell") as! DashboardTableViewCell
cell.setData(itemDic, indexPath: indexPath)
case "chart":
cell = tblGraphs.dequeueReusableCellWithIdentifier("ChartCell") as! ChartTableViewCell
default:
cell = tblGraphs.dequeueReusableCellWithIdentifier("DashboardCell") as! DashboardTableViewCell
}
return cell
}
当然是给我一个错误:
关于如何解决这个问题的任何线索?
答案 0 :(得分:0)
替换
var cell : AnyObject
与
var cell : UITableViewCell!
否则它不知道您正在尝试返回UITableViewCell
答案 1 :(得分:0)
实际上你已经采用了anyobject类型的单元格变量,但该方法返回了UITableViewcell的对象。 如果你有不同类型的细胞,你必须采取类型的变量" UITableViewcell"它会像这个方法中的任何对象一样工作。