Swift 是否用选定的TableViewCell填充文本字段?
在我的初始视图中,有一个空白的Swift 是否用选定的TableViewCell填充文本字段?,swift,xcode6,tableview,textfield,tableviewcell,Swift,Xcode6,Tableview,Textfield,Tableviewcell,在我的初始视图中,有一个空白的textField(上面有一个不可见的按钮),当您单击它时,它会转到一个TableView。我想把我的 TabelVIEWCELL < /代码>选择的文本数据发送到原始视图中的空白文本字段< /代码>。 我制作了一个View2.swift文件,它是我原始View的副本。我试图编辑其中的源代码,通过从TableView的indepath发送.text来推送textData 显示如何将数据从第一个视图发送到第二个视图,但我正在尝试将数据从第二个视图(TableView)
textField
(上面有一个不可见的按钮),当您单击它时,它会转到一个TableView
。我想把我的<代码> TabelVIEWCELL < /代码>选择的文本数据发送到原始视图中的空白<代码>文本字段< /代码>。
我制作了一个View2.swift
文件,它是我原始View
的副本。我试图编辑其中的源代码,通过从TableView
的indepath
发送.text
来推送textData
显示如何将数据从第一个视图发送到第二个视图,但我正在尝试将数据从第二个视图(TableView
)发送回第一个视图(view
)
这是我的密码:
ViewController.swift
import UIKit
class ViewController: UITableViewController {
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
var DestViewController : View2 = segue.destinationViewController as! View2
DestViewController.formulaSelectionText = ViewController.
}
}
View2.swift
:
import Foundation
import UIKit
class View2: UIViewController {
override func viewDidLoad(){
formulaSelection.text = indexPathForCell(Cell: UITableView)
}
}
我认为最好只更新初始视图中的值。我正在考虑使用
UITextFieldDelegate
?将UITableViewCell
所选值传回控制器很容易。只要选择一个单元格,就可以在上一个控制器中更新文本字段的值,如果您使用的是导航控制器/模式控制器,则弹出控制器/关闭它
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
//get last controller in hierarchy
let viewControllers: [UIViewController] = self.navigationController!.viewControllers as [UIViewController];
var prevController : PrevViewController = viewControllers[viewControllers.count - 1] as PrevViewController;
prevController.textfield.text = dataSource[indexPath.row]; //update textfield here
self.navigationController!.popViewControllerAnimated(true);
}
希望有帮助 在这里写下你的代码片段,你尝试了什么。谢谢你的回复!这是我第一次创建iOS应用程序,所以我还有几个问题。1) PrevViewController是一个类吗?它不会出现在我的编译器中。2) 这意味着我需要将我的TableView标识符设置为数据源,以便控制器从中读取数据,对吗?1)我刚刚命名为
PrevViewController
,以便更好地说明。它将被ViewController
-您的第一个控制器swift类所取代。2) Tableview
数据源方法已经在View2
中实现,因为那里有Tableview。