在tableview中发送select cell并发送到另一个屏幕

时间:2016-06-27 08:22:55

标签: ios swift uitableview swift2

您好我正在创建一个与iOS相关的应用。此应用程序显示tableview中的人数。 tableview中的每个单元格都显示了人员的姓名和人员的详细信息,每个人都附有音频文件。当我选择任何单元格并点击候选名单按钮时,我想将此信息显示在另一个屏幕上,并将所选单元格通过电子邮件发送给任何人。所以我想在另一个屏幕上显示名称,细节和音频文件。我正在使用swift语言和Xcode 7.请帮我找到答案。

3 个答案:

答案 0 :(得分:0)

请在下面实现TableView Delegate方法,当您选择此方法将调用的单元格时。在那里,您可以实例化要显示数据的新ViewController。

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)

答案 1 :(得分:0)

首先,您需要找出选择的细胞。使用 didSelectRowAtIndexPath 函数。

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
{

}

在找到选择了哪一行后,您可以进入下一个视图控制器,但在此之前,您必须调用 prepareForSegue 函数,该函数允许将变量传递给查看控制器。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!)
{

}

答案 2 :(得分:0)

使用didSelectRowAtIndexPath方法当前ViewController

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
    {

            let storyBoard = UIStoryboard(name: "Main", bundle: nil)

            let sample = storyBoard.instantiateViewControllerWithIdentifier("YourViewControllerIdentifierName") as! ViewControllerB

            sample.mainArray =  yourArrayName.mutableCopy() as! NSMutableArray

            self.navigationController?.pushViewController(sample, animated: true)
        }
    }

如果您向另一个ViewControllerB发送数据,则声明变量mainArray,

import UIKit

class ViewControllerB: UIViewController {

    var mainArray = NSMutableArray()

}

以上示例是一种方式,您将声明变量以将多个数据tableview didSelectRowAtIndexPath传递给另一个ViewController

希望它有用