从 uicollectionView 选择创建 UITableViewCell
Posted
技术标签:
【中文标题】从 uicollectionView 选择创建 UITableViewCell【英文标题】:create UITableViewCell from uicollectionView choice 【发布时间】:2016-02-19 22:28:40 【问题描述】:我实际上正在做一个应用程序,它在用户选择 1 时将内容加载到 UICollectionView 它应该创建一个 UITableViewCell 并将其添加到右侧的 UITableView 但我不断收到错误
在 ViewDidLoad 我注册了 Nib(其中 cart @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.'
非常感谢任何帮助
【问题讨论】:
2016-02-19 16:41:33.375 trackMyDevice_1.0[43188:5851609] *** 由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[我注册了笔尖
所以你有一个名为 cartCell.xib 的 nib,对吗?这就是您在此处注册的内容:
cart!.registerNib(UINib(nibName: "cartCell", bundle: nil),
forCellReuseIdentifier: "Cell")
稍后您可以通过以下方式加载该笔尖以获取单元格:
let cell = tableView.dequeueReusableCellWithIdentifier("Cell",
forIndexPath: indexPath) as! cartCell
现在,该行明确声明从 nib 加载的单元格将是 cartCell。但问题在于,该 nib 中的***对象 cartCell.xib 实际上 不是 cartCell。它不是 任何 种 UITableViewCell。它是一个 NSObject!因此,您抱怨这个东西是一个 NSObject 时崩溃了:
<NSObject 0x7fe645009320> ... this class is not key value coding-compliant for the key imgService
【讨论】:
以上是关于从 uicollectionView 选择创建 UITableViewCell的主要内容,如果未能解决你的问题,请参考以下文章
如何以编程方式快速创建 uicollectionview(没有情节提要)
无论在 UICollectionView 中选择啥 IndexPath,只有最后一个单元格会被突出显示
如果从 UICollectionView 的其他部分中选择了一个单元格,则取消选择所有其他选择