2016-03-23 26 views
5

BasicPhrasesVC adında bir ViewController sahibiyim ve bir sonraki ViewController'da (BasicPhrasesVC) görüntülemek için verileri seçilen hücreye aktarmak istiyorum. Ben buraya koymak için emin değilimReadyForSegue'i nasıl hızlı kullanabilirim?

class BasicPhrasesVC: UIViewController, UITableViewDataSource, UITableViewDelegate { 

let basicPhrases = ["Hello.","Goodbye.","Yes.","No.","I don't understand.","Please?","Thank you.","I don't know."] 
var selectedBasicPhrase = "" 

func numberOfSectionsInTableView(tableView: UITableView) -> Int { 
    return 1 
} 

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return basicPhrases.count 
} 


func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCellWithIdentifier("Cell")! 
    cell.textLabel?.text = basicPhrases[indexPath.row] 
    return cell 
} 

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

Herhangi bir yardım takdir

} 

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    selectedBasicPhrase = basicPhrases[indexPath.row] 
    performSegueWithIdentifier("BasicPhrasesVC2BasicDisplayVC", sender: self) 

} 
} 

(ı değişkeni "selectedBasicPhrase" aktarmak istiyorum). destinationViewController alıp ona sen veri göndermek daha

cevap

8
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    selectedBasicPhrase = basicPhrases[indexPath.row] 
    self.performSegueWithIdentifier("BasicPhrasesVC2BasicDisplayVC", sender: selectedBasicPhrase) 

} 

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
     if segue.identifier == "BasicPhrasesVC2BasicDisplayVC" { 
      if let nextVC = segue.destinationViewController as? NextViewController { 
       nextVC.selectedBasicPhrase = sender 
      } 
     } 
    } 
+0

teşekkürler "türü değerini belirtilen türe 'BasicDisplayVC' 'BasicPhrasesVC' dönüştürme olamaz" ile . –

+2

destinationViewController hedefe yeniden adlandırıldı. –

0
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) { 
    if (segue.identifier == "<segue name>") { 
     // pass the data 
    } 
} 
0

kontrol segue ismi.

override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) { 
    if (segue.identifier == "BasicPhrasesVC2BasicDisplayVC") { 
     let viewController:ViewController = segue!.destinationViewController as ViewController 
     viewController.selectedBasicPhrase = "Test phrase" 
    } 
} 
+0

şimdi bu var –

+0

yardımcı olmaktan her zaman mutluluk Sorun: 'kılma prepareForSegue fonk (segue: UIStoryboardSegue, gönderen:? AnyObject) { if (segue.identifier == "BasicPhrasesVC2BasicDisplayVC") { let viewController: BasicPhrasesVC = segue.destinationViewController as! BasicDisplayVC viewController.selectedBasicPhrase = basicPhrases [indexPath.row] } } 'hatası bu yararlı yanıt için –

İlgili konular