【问题标题】:send select Cell in tableview and send to another screen在表格视图中发送选择单元格并发送到另一个屏幕
【发布时间】:2016-06-27 08:22:55
【问题描述】:

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

【问题讨论】:

标签: ios swift uitableview swift2


【解决方案1】:

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

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

【讨论】:

  • 感谢您的快速回复。你能用很少的代码更详细地解释一下我吗?我是 swift 的新手,谢谢
  • 当然,我们有一些委托方法检查'UITableViewDelegate'我会解释一下
【解决方案2】:

首先,您需要找出选择了哪个单元格。使用 didSelectRowAtIndexPath 函数。

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

}

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

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

}

【讨论】:

  • 非常感谢您的快速回复,让我再次尝试谢谢。
【解决方案3】:

使用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()

}

上面的例子是一种方式,你将声明变量将许多数据tableviewdidSelectRowAtIndexPath传递给另一个ViewController

希望对你有帮助

【讨论】:

  • 非常感谢这对我有用,再次感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-25
相关资源
最近更新 更多