从uicollectionView选项创建UITableViewCell

时间:2016-02-19 22:28:41

标签: ios iphone swift uitableview ipad

我实际上正在做一个将内容加载到UICollectionView的应用程序,因为用户选择1它应该创建一个UITableViewCell并将其添加到右边的UITableView但我一直收到错误

在ViewDidLoad中我注册了Nib(购物车@IBOutlet var cart:UITableView?并连接到Storyboard)

 cart!.registerNib(UINib(nibName: "cartCell", bundle: nil), forCellReuseIdentifier: "Cell")

选择单元格后,我将对象添加到数组中并刷新表格

func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
    if indexPath.row < serviceList.count {
        let service:Service = serviceList[indexPath.row]

        cartOrder.append(service)
        dispatch_async(dispatch_get_main_queue()){
            self.cart!.reloadData()
        }
    }
}

但是当表填充其内容时,我在单元格声明中出现错误

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! cartCell
    let serv = cartOrder[indexPath.row]

    cell.lblName.text = serv.name
    cell.lblDescription.text = serv.description
    cell.imgService.image = UIImage(named: "star")

    return cell
}

我得到的错误是

2016-02-19 16:41:33.375 trackMyDevice_1.0[43188:5851609] ***
 Terminating app due to uncaught exception 'NSUnknownKeyException', 
 reason: '[<NSObject 0x7fe645009320> setValue:forUndefinedKey:]: 
 this class is not key value coding-compliant for the key imgService.'

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

  

我注册了笔尖

所以你有一个名为 cartCell.xib 的笔尖,是吗?这就是你在这里注册的内容:

cart!.registerNib(UINib(nibName: "cartCell", bundle: nil), 
    forCellReuseIdentifier: "Cell")

稍后你加载那个笔尖来获取一个单元格,说:

let cell = tableView.dequeueReusableCellWithIdentifier("Cell", 
    forIndexPath: indexPath) as! cartCell

现在,该行明确声称从笔尖加载的单元格将是cartCell。但问题是该nib中的顶级对象 cartCell.xib 实际上不是是一个cartCell。它不是任何类型的UITableViewCell。这是一个NSObject!因此,你抱怨说这件事是NSObject:

<NSObject 0x7fe645009320> ... this class is not key value coding-compliant for the key imgService