gpt4 book ai didi

ios - 将模型发布到委托(delegate) View 的正确方法?

转载 作者:行者123 更新时间:2023-11-28 07:15:15 25 4
gpt4 key购买 nike

我有一个 UITableViewController,它提供一个字符串数组作为数据源:

import UIKit

class ItemsViewController: UITableViewController {

let items = [
"Bob",
"Joe",
]

@IBAction
func unwindToSegue(segue: UIStoryboardSegue) {

}

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return items.count
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Item", forIndexPath: indexPath) as UITableViewCell

cell.textLabel.text = items[indexPath.row]

return cell
}

}

我现在添加了第二个带有 UIViewController 的场景,当用户通过 show segue 点击 UITableCell 时,它会被激活。 p>

我现在想把分配给以前的 UITableCell 的字符串插入到 ItemViewController 中:

import UIKit

class ItemViewController: UIViewController {

@IBOutlet
weak var nameLabel: UILabel!

override func viewDidLoad() {
super.viewDidLoad()
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}

override func override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
//var name = segue.someMethodHowIGetTheDataAssignedToTableCell
//nameLabel.text = name
}

}

如何将分配给单个 TableCell 的模型(在本例中为字符串)传递给新的 ItemViewController

最佳答案

像这样。只需添加一个从 ItemViewController 返回到 ItemsViewController 的返回推送 segue。以后将它们命名为不那么相似:-)

import UIKit

class ItemsViewController: UITableViewController {

let items = [
"Bob",
"Joe",
]

@IBAction
func unwindToSegue(segue: UIStoryboardSegue) {

}

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return items.count
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Item", forIndexPath: indexPath) as UITableViewCell

cell.textLabel.text = items[indexPath.row]

return cell
}

//Passing details to detail VC
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

let indexPath = self.tableView.indexPathForSelectedRow()
let theDestination = (segue.destinationViewController as ItemViewController)
theDestination.itemName = items[indexPath!.row]
}

}

import UIKit

class ItemViewController: UIViewController {

@IBOutlet weak var nameLabel: UILabel!

var itemName = ""

override func viewDidLoad() {
super.viewDidLoad()

nameLabel.text = itemName
}

}

关于ios - 将模型发布到委托(delegate) View 的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26619768/

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