我正在寻找有关如何执行以下行为的提示/最佳实践。我有一个包含一些节的UITableView,每个节都包含自定义UITableViewCells。示例:第1节包含一个带有UILabel的UITableViewCell,第2节包含一个包含一些UITextField的UITableViewCell。当我从第1部分(一个UILabel)中选择一个UITableViewCell时,我得到一个对象。有谁知道如何用第1节中所选对象的变量填充UITextFields?
这里是一个示例用例:我有一个UITableView包含2个部分,在第1部分中,有一个学生姓名列表,在第2部分中,有一个自定义UITableViewCell,其中包含一些UITextField,当我从第1部分中选择一个名称时我想在UITextFields中获取该学生的详细信息。
答案 0 :(得分:0)
您必须使用通知
在TableViewController中:
public let StudentSelectedNotification = Notification.Name(rawValue: "StudentSelectedNotification")
在didSelectRowAt indexPath
中:
NotificationCenter.default.post(Notification.init(name: StudentSelectedNotification, object: MyObject))
在viewDidLoad
中:
NotificationCenter.default.addObserver(self, selector: #selector(self.fillTextField(_:)), name: StudentSelectedNotification, object: nil)
在TableViewController中:
func fillTextField(_ notification: Notification) {
let myObject = notification.object
// set the text of textfield here
}