2017-03-27 90 views
0

我从我的第一个vc到第二个和第二个segue从第二个到第一个从表入口。从一个viewcontroller中选择多个数组元素到另一个viewController

需要一个由tableview一个选择值,并从segue destination复制到文本框在第一viewcontroller,它从VC2谈到VC2时加载viewdidload往常一样,我需要使用viewdidappear

class membersViewController: UIViewController,UITableViewDataSource,UITableViewDelegate 
{ 

var array = ["Gurpreet","Pulkit","Raman","Rajan","Jonish"] 
var searchActive : Bool = false 
var filtered:[String] = [] 
var selectedMem = "" 
override func viewDidLoad() { 
super.viewDidLoad() 
     } 
@IBOutlet var tableView: UITableView! 
func numberOfSections(in tableView: UITableView) -> Int { 
    return 1 
     } 
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
      return array.count 
} 
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
let cell = tableView.dequeueReusableCell(withIdentifier: "cell")! as UITableViewCell 
    cell.textLabel?.text = array[indexPath.row] 
    return cell 
    } 
override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    if segue.identifier == "segueMember" 
    { 
     let vc = segue.destination as! testViewController 
     vc.selectedMem = selectedMem 
    } 
    } 

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)  { 
     selectedMem = array[indexPath.row] 
     performSegue(withIdentifier: "segueMember", sender: nil) 
     // dismiss(animated: true, completion: nil) 
      } 
    class testViewController: UIViewController { 
     var selectedMem = "" 
     override func viewDidLoad() { 
     super.viewDidLoad() 
     textMem?.text = selectedMem 
     } 
override func viewDidAppear(_ animated: Bool) { 
    textMem?.text = (textMem.text)! + selectedMem 
} 
    override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    } 
    @IBOutlet var textMem: UITextField! 
+0

问题尚不清楚。你能否提一下实际正在发生的事情以及你想要什么,以便我们能够做出相应的回应。 –

+0

是否要将多个选定项目发送到第二个视图控制器? –

回答

1
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: Ind. exPath) 
{ 
    selectedMem = array[indexPath.row] 
    performSegue(withIdentifier: "segueMember", sender: self) 
    // dismiss(animated: true, completion: nil) 
} 

func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?){{ 

    if (segue.identifier == "segueMember") 
    { 

    let viewController = segue.destinationViewController as YourViewController 
    // make property in YourViewController class 
    viewController.yourValue = selectedMem 
    } 
} 
+0

它获得一个值,也显示,但是当我再次从列表中选择另一个它覆盖它..我使用现在的赛格.. !! –

+0

我已经使用打印一个味精来检查它它alwsy加载viewdidload..i想要保存第一个VC并从另一个VC获取价值,它可能B 3值..我必须来回.. !! ! –

+0

对于多值你可以制作字典并通过这个 –

相关问题