2016-11-03 9 views
0

これは2つのviewcontrollerのコードですが、bookTwoクラスから "bookToTisplay"クラスをbookThreeクラスに渡す必要がありますが、動作しません。私は、IOS 10にswift3を使用してい は、8 bookTwo xocod:スウィフト3でiOS swift prepareForSegueは2つのviewcontroller間でデータを渡すことができません

import UIKit 
import Foundation 
class bookTwo: UIViewController { 
override func viewDidLoad() { 
    super.viewDidLoad() 
// Do any additional setup after loading the view. 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if segue.identifier == "ms1"{ 
     let destinationVC = segue.destination as? bookThree; 
     destinationVC?.numberToDisplay = 7 

    } 
    } 
} 

bookThree

import UIKit 

class bookThree: UIViewController { 
var numberToDisplay = 0 

    @IBOutlet weak var showType: UILabel! 

    override func viewDidLoad() { 
     super.viewDidLoad() 
    showType.text = "Tapped \(numberToDisplay) times." 
     // Do any additional setup after loading the view. 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 
} 
+0

それはVaRのnumberToDisplay 'に' VAR numberToDisplay = 0 'を変更してみてください細かい –

+1

に動作する必要があります!のInt ' – Danoram

+0

私の答えと回答を確認してください。.. – KSR

答えて

1

を、メソッドのシグネチャ "prepareForSegue" が変更されました。だから、これで "prepareForSegue" のためのコードを置き換える:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
     if segue.identifier == "ms1"{ 
      let destinationVC = segue.destination as? bookThree 
      destinationVC?.numberToDisplay = 7 

     } 
    } 
関連する問題