2017-03-27 46 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

對於多值你可以製作字典並通過這個 –

相關問題