我是swift3的新手。所以,如果您认为这是一个简单的问题,请原谅我。在我的情况下搜索互联网或堆栈溢出时没有明确的想法,所以我问这个问题。
目标:将数据从tableview传递到webview
示例:表中的数据1,2,3 ...,按1,然后跳转到值为1的webview
信息:
在oneViewController中,设置良好并选择行:
ReactDOM.findDOMNode(component)
在twoViewController中,一切准备就绪:
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
//Array[indexPath.row] //This value expected to pass
//some code to execute passing data...
//Also, jump into another view controller with webview
}
最后,PHP可以获得值
//let passData = some code to get the data....
let URL = NSURL(string: "https://www.example.com?data=\(passData)")
webView.loadRequest(NSURLRequest(url: URL! as URL) as URLRequest)
问题:
将视图控制器连接到另一个视图控制器?或者将表视图单元连接到视图控制器?或其他什么.....
答案 0 :(得分:1)
按照以下步骤操作: -
第1步:下面的代码将启动并传递TwoViewController
中的数据。请注意,在您的Main.Storyboard-> TwoViewContoller中,将标识符设为TwoViewController
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let storyBoard:UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let twoVC:TwoViewController = storyBoard.instantiateViewController(withIdentifier: "TwoViewController") as! TwoViewController
twoVC.passData = Array[indexPath.row]
self.present(twoVC, animated: true, completion: nil)
}
第2步:在TwoViewController
类中定义一个变量,如下所示
var passData: String = ""
答案 1 :(得分:1)
你可以做三个解决方案:
1-在segue中发送数据
2-忘记segue关系并在didSelectRowAt中调用新控制器,并设置如下数据:
let vc = UIStoryboard(name: "BarcodeScanner", bundle: nil).instantiateInitialViewController()! as! BarcodeScannerViewController
vc.passData = valueWantToSend
self.presentViewController(vc, animated: true, completion: nil)
3-使用这样的结构,您可以在项目的任何地方使用您的数据:
struct Variables
{
static var value = false
static var passData = ""
}
例如:Variables.passData=@"new value"