错误:'inout IndexPath' 不能转换为 'IndexPath'
Posted
技术标签:
【中文标题】错误:\'inout IndexPath\' 不能转换为 \'IndexPath\'【英文标题】:Error:'inout IndexPath' is not convertible to 'IndexPath'错误:'inout IndexPath' 不能转换为 'IndexPath' 【发布时间】:2016-12-27 05:24:35 【问题描述】:我有一个 TableViewController,其中包含使用 CoreData 的数据条目列表。我也有带有 TextView 的 ViewController。我已经完成了对项目的添加、保存和删除等操作。现在我正在通过将选定的 TableViewCell 链接到下一个 ViewController 上的 TextView 来进行编辑。但是,我收到错误,因为“inout IndexPath”不能转换为“IndexPath”。如何解决这个错误?
【问题讨论】:
var indexPath : IndexPath = tableView.indexPathForSelectedRow!这是错误,它不能像那样转换 Himanshu Moradiya @先生,请详细说明解决方案??我是新来的 swift !! 如果我的代码中有任何查询,请检查我的答案,然后发表评论。 确保您的 tableview 允许选择权限。如果没有,那么你可以像 tableView.allowsSelection = true jignesh Vadadoriya@ 它允许先生!! 【参考方案1】:func getIndexPathForSelectedCell() -> IndexPath?
var indexPath2:IndexPath?
if TABLEVIEW.indexPathsForSelectedItems!.count > 0
indexPath2 = TABLEVIEW.indexPathsForSelectedItems![0]
return indexPath2
override func prepare(for segue: UIStoryboardSegue, sender: Any?)
if (segue.identifier == "detailView")
print("Segue Clicked. werwerewrere..................................")
if let indexPath2 = getIndexPathForSelectedCell()
// here write code for move to next controller.
let YOUR_NEXT_CONTROLLER_OBJECT = segue.destination as! YOUR_NEXT_CONTROLLER_CLASS_NAME
YOUR_NEXT_CONTROLLER_OBJECT.KEY = PASS_DATA_VALUE
【讨论】:
评论不用于扩展讨论;这个对话是moved to chat。【参考方案2】:let indexPathForSelectedRow = tableView.indexPathForSelectedRow
let row: Int = (indexPathForSelectedRow?.row)!
print(row);
【讨论】:
以上是关于错误:'inout IndexPath' 不能转换为 'IndexPath'的主要内容,如果未能解决你的问题,请参考以下文章
swift 无法将类型“[Liquor]”的值转换为预期的参数类型“inout _”
无法将“Int”类型的值转换为预期的参数类型“(inout UnsafeMutableBufferPointer<_>, inout Int) throws -> Void”
导致“无法将不可变作为 inout 传递”的 Swift 3 转换 [重复]