无法将“String”类型的值分配给“MyOrderTableViewCell”类型
Posted
技术标签:
【中文标题】无法将“String”类型的值分配给“MyOrderTableViewCell”类型【英文标题】:Cannot assign value of type 'String' to type 'MyOrderTableViewCell' 【发布时间】:2017-11-02 04:06:50 【问题描述】:我想点击基于ID的行,
所以我声明了一个数组来存储 ID:
var idenArr = [String]()
在 didSelectRowAt 索引路径上:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
var cell = tableView.dequeueReusableCell(withIdentifier: "myOrderTableViewCell", for: indexPath as IndexPath) as! MyOrderTableViewCell
cell = idenArr[indexPath.row] `<-- Here show me this error "Cannot assign value of type 'String' to type 'MyOrderTableViewCell'"`
【问题讨论】:
||请阅读有关表格视图的信息。以上 2 行中还有很多其他问题,而不仅仅是您指出的问题。为什么您需要在 didSelectRowAt 中对一个单元格进行双端队列,这是 cellForRowAt 的工作?您正在分配字符串值以键入 MyOrderTableViewCelll。 在错误行中,您的代码实际上是在尝试将 id 的值分配给 Cell。这就是它来的原因。 将cell =
更改为cell.textLabel.text =
永远不要在cellForRowAt
之外打电话给tableView.dequeueReusableCell
。
【参考方案1】:
要获得这个,您可以通过以下方式获得它:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
let ID = idenArr[indexPath.row]
print("Your selected Id is:" ID)
【讨论】:
以上是关于无法将“String”类型的值分配给“MyOrderTableViewCell”类型的主要内容,如果未能解决你的问题,请参考以下文章
无法将 String 类型的值分配给 AnyObject 类型?斯威夫特 3.0
“无法将类型 'String' 的值分配给类型 'AnyObject?'”,Swift 3,Xcode 8 beta 6
如何更正错误“无法将 [NSManagedObject] 类型的值分配给 [String] 类型
无法将“Int”类型的值分配给“String”类型?在 (cellForRowAt) 中使用 Tableview
使用 SwiftUI 从 Cloud Firestore 中的集合“配置文件”中获取数据。无法将类型“[String:Any]”的值分配给类型“UserProfile”