我正在使用Swift 3创建一个应用程序,向用户显示一个tableview。 image of tableView
用户可以添加,删除和编辑表格中的每个选定行。我想出了如何细分到细胞的详细视图。在详细视图中,我有两个文本字段,用户可以编辑这些字段以更改所选行的标题和详细信息。 image of detailView for selectedCell
我正在使用prepareForSegue方法来更改所选行的标题,方法是在详细视图中输入文本然后保存permanetly - 类似于联系人书籍的工作方式;您可以按下单元格,转到详细视图并编辑属性,保存更改。
我对segue方法的准备工作无效,当我在selectedCell的文本字段中输入文本时,它没有做任何事情。
这是我的准备方法:
fun prepareForSegue(segue: UIStoryBoardSegue, sender: UITableViewCell) {
if segue.identifier == "details" {
let path = self.placeTable.indexPathForSelectedRow!
let selectedCell = placeTable.cellForRow(at: path)! as UITableViewCell
let cellText: String? = selectedCell.textLabel?.text
let cellDetails: String? = selectedCell.detailTextLabel?.text
let dest:DetailViewController? = segue.destination as? DetailViewController
dest?.enterNewName.text = cellText
dest?.enterNewDescrip.text = cellDetails
NSLog("did select and the text is \(cellText)")
DetailViewController.swift:
class DetailViewController: UIViewController {
var nameVar: NSString!
@IBOutlet weak var enterNewName: UITextField!
@IBOutlet weak var enterNewDescrip: UITextView!
@IBAction func cancel(_ sender: Any) {
}
@IBAction func done(_ sender: Any) {
let appDelegate = UIApplication.shared.delegate as! AppDelegate
appDelegate.saveContext()
}
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}}
我希望有任何建议可以指出我正确的方向。