2017-03-27 3 views
0

私は、最初のvcから2番目と2番目のsegueまでのテーブルエントリからの最初のsegueを持っています。複数の配列要素が1つのviewcontrollerから別のviewControllerに選択されました

VC2からVC2に来るとき、それは常にviewdidloadをロードし、tableviewの1つの選択値ずつを必要と最初viewcontrollersegue destinationからテキストボックスにコピーし、私は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

選択した複数のアイテムを2番目のView Controllerに送信しますか? –

答えて

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

それは1つの価値を得ているとまた表示していますが、リストから別のものを選択すると上書きします。私は現在のセグを使っています.. !! –

+0

私はそれをチェックしてみました。それはmsgを使って確認しました。viewdidload..iは、最初のvcを保存して別のvcから値を取得したい、3 6値かもしれません。 ! –

+0

複数の値の場合は、辞書を作成して、これを –

関連する問題