Ios 快速获取另一个ViewController中选定单元格的数据(以编程方式)

Ios 快速获取另一个ViewController中选定单元格的数据(以编程方式),ios,uitableview,swift,tableviewcell,Ios,Uitableview,Swift,Tableviewcell,这个问题已经被回答了很多次。但是我在上面找到的答案对我来说不起作用,因为我好像不能给手机课打电话 进一步解释: 我有一个带UITable的viewController。这些单元格在UITableViewCell类中配置。(我需要从这个类中提取信息) 我的“cell类”称为mySuggestionsCel 这是我的“DidSelectRowatineXpath”代码 我试过了 mySuggestionsCell.someVariable 我还尝试了selectedCell.someVariable

这个问题已经被回答了很多次。但是我在上面找到的答案对我来说不起作用,因为我好像不能给手机课打电话

进一步解释:

我有一个带UITable的viewController。这些单元格在UITableViewCell类中配置。(我需要从这个类中提取信息)

我的“cell类”称为mySuggestionsCel

这是我的“DidSelectRowatineXpath”代码

我试过了

mySuggestionsCell.someVariable

我还尝试了selectedCell.someVariable

两者都不起作用

我需要从我的单元格类的detailSuggestion_VC()中获取此信息。但它需要提取的数据是被选中的特定单元格拥有的数据。这就是为什么我很难让它工作的原因

我四处看了一会儿。但是找不到这个特定问题的任何问题或答案


任何帮助都将不胜感激

我做出以下假设:

  • 您有一个控制表格单元格的tableViewCell类文件
  • 点击单元格时,您的表将连接到一个局部视图控制器

  • 您要做的是传递点击单元格的信息,以便新的视图控制器具有所有单元格的信息

  • 与此相反:
    var selectedCell:UITableViewCell=tableView.cellforrowatinexpath(indexPath)

    您将需要在tableViewCell类中执行类型转换。像这样:

    var selectedCell=tableView.cellforrowatinexpath(indexPath)!作为tableViewCell

    接下来需要调用以下函数:

    performsguewithidentifier(/*Segue Identifier在这里*/,发送方:selectedCell)

    进行此调用将把所选单元格的内容传递给发件人,该内容可用于
    prepareforsgue(segue:UIStoryboardSegue,sender:AnyObject)

    确保在类中的某个位置覆盖prepareForSegue

    现在,在prepareForSegue:中,您可以获取对destinationViewController的引用,并在destinationViewController中初始化实例变量,该变量将保存所选单元格的变量

    //in prepareForSegue
    let controller = segue.destinationViewController as detailSuggestion_VC
    controller.cellInfo = sender
    

    我做出以下假设:

  • 您有一个控制表格单元格的tableViewCell类文件
  • 点击单元格时,您的表将连接到一个局部视图控制器

  • 您要做的是传递点击单元格的信息,以便新的视图控制器具有所有单元格的信息

  • 与此相反:
    var selectedCell:UITableViewCell=tableView.cellforrowatinexpath(indexPath)

    您将需要在tableViewCell类中执行类型转换。像这样:

    var selectedCell=tableView.cellforrowatinexpath(indexPath)!作为tableViewCell

    接下来需要调用以下函数:

    performsguewithidentifier(/*Segue Identifier在这里*/,发送方:selectedCell)

    进行此调用将把所选单元格的内容传递给发件人,该内容可用于
    prepareforsgue(segue:UIStoryboardSegue,sender:AnyObject)

    确保在类中的某个位置覆盖prepareForSegue

    现在,在prepareForSegue:中,您可以获取对destinationViewController的引用,并在destinationViewController中初始化实例变量,该变量将保存所选单元格的变量

    //in prepareForSegue
    let controller = segue.destinationViewController as detailSuggestion_VC
    controller.cellInfo = sender
    

    你说的“两个都没用”是什么意思?你需要具体点。当您尝试访问某个变量时会发生什么,您在谈论什么变量?为什么要将selectedCell键入UITableViewCell而不是mySuggestiosCell?#rdelmar,它会出现错误“UITableViewCell没有名为“ticker”的成员,当然,与另一个成员相同,只是它是“MySuggestionCell”。(但该成员无论如何都不会工作),无论如何。我正在尝试访问tableViewCell类中设置的单元格的数据,以传递给另一个viewController。您所说的“都不工作”是什么意思"? 你需要具体点。当您尝试访问某个变量时会发生什么,您在谈论什么变量?为什么要将selectedCell键入UITableViewCell而不是mySuggestiosCell?#rdelmar,它会出现错误“UITableViewCell没有名为“ticker”的成员,当然,与另一个成员相同,只是它是“MySuggestionCell”。(但该成员无论如何都不会工作),无论如何。我正在尝试访问tableViewCell类中设置的单元格数据,以传递给另一个viewController。嘿,开尔文,谢谢你的回复!尽管我认为这不是我想要的。让我试着更好地解释一下。我正在处理一个名为“mySuggestions_VC”的viewController,它有一个tableview(带单元格),这些是非常自定义的单元格。因此,要配置它们并获取它们的数据,我在另一个文件中使用tableViewCell类。(@user10002好的,谢谢解释。我知道一种方法,但您仍然需要将UITableViewCell类型转换为新的tableViewCell类(您专门为自定义单元格创建的。让我编辑我的回答谢谢更新!但是我仍然有一些问题:“ar selectedCell=tableView.cellforrowatinexpath(indexPath)!as tableViewCell”导致错误:“使用未声明的类型'tableViewCell'而且,我做任何事情都是按程序进行的,所以我不能使用segues,因此无法访问“prepareForSegue”将数据放入。有什么想法吗?tableViewCell是自定义UITableViewCell类的名称。无论您将该文件命名为什么。这是阻止您引用单元格属性的主要问题。嘿,开尔文,谢谢您的回复!尽管我认为这不是我要找的。让我试着更好地解释一下。我正在处理w有一个名为“mySuggestions_VC”的viewController,它有一个tableview(带单元格),这些都是非常定制的ce