gpt4 book ai didi

swift: prepareForSegue indexPathForSelectedRow

转载 作者:搜寻专家 更新时间:2023-10-31 22:03:08 24 4
gpt4 key购买 nike

我有一个由 cellForRowAtIndexPath 填充的 UITableView:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

var cell: UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier("customTableViewCell") as! UITableViewCell
let task = frc.objectAtIndexPath(indexPath) as! Task

cell.textLabel?.text = task.summary
var detail = task.detail
var context = task.context
var due = task.date
var status = task.status
var responsible = task.responsable
var folder = task.folder

cell.detailTextLabel?.text = "Contexte: \(context), Detail: \(detail), Status: \(status), Ending date: \(due)"

return cell
}

在 Storyboard 上,我在单击 tableView 的一个单元格以打开 detailViewController 时做了一个 segue

这是我的 didSelectRowAtIndexPath:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let cell = tableView.cellForRowAtIndexPath(indexPath)
self.name = cell!.textLabel!.text!
println(self.name)
self.performSegueWithIdentifier("Show Detail", sender: indexPath);
}

和 prepareForSegue:

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

if let identifier = segue.identifier{

switch identifier {
case "Show Detail":


let indexPath = self.tableView.indexPathForSelectedRow()
let editTaskVC = segue.destinationViewController as! EditTaskViewController

editTaskVC.Name = "cell.textLabel?.text is what I would like to.."


default: break
}
}

}

如果我这样做 editTaskVC.Name = indexPath?.description我可以看到点击的单元格的描述,<NSIndexPath: 0x78f96ab0>...例如。

是否可以打印被点击行的cell.textLabel?.text,而不是打印indexPath的描述?

我在论坛上看到了很多很多教程或帖子,但我没有成功解决我的问题......

感谢您的帮助。

问候。

最佳答案

您的意图是将 cell.textLabel?.text 传递给目标 View Controller ,对吗?

您正在走不必要的弯路。 performSegueWithIdentifier: 中的 sender 参数可以接收一个 AnyObject,因此您可以直接将 name 传递给它>。

self.performSegueWithIdentifier("显示详细信息", sender: name)

这样,prepareForSegue 将拥有您需要传递给下一个 View Controller 的项目。只需分配 editTaskVC = sender as! String 就可以了。

您缺少的知识是,performSegueWithIdentifier: sender 中的 sender 参数会自动将发件人的内容传递到 prepareForSegue 中,作为发送者参数。

关于swift: prepareForSegue indexPathForSelectedRow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31137526/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com