2017-09-01 4 views
0

prepareForSegue関数で宛先コントローラに送信する2つの浮動小数点があります。私は両方の変数に私の変数を設定しているが、私は上記のエラーに遭遇している。タイプの値には、最初と宛先のコントローラでメンバーが定義されていません

if segue.identifier == "secondmapsegue" 
    { 
     let destination = segue.destination as! MapsView 
     let indexPath = tableView.indexPathForSelectedRow 

     var lat: Float 
     var long: Float 

     if index.row == 0 { 
      lat = MSULandMarks[(indexPath?.row)!].f1 
      long = MSULandMarks[(indexPath?.row)!].f2 
     } 
     else if index.row == 1 { 
      lat = MSUFrats[(indexPath?.row)!].f1 
      long = MSUFrats[(indexPath?.row)!].f2 
     } 
     else 
     { 
      lat = MSUSoro[(indexPath?.row)!].f1 
      long = MSUSoro[(indexPath?.row)!].f2 
    } 
      destination.latitude = lat 
      destination.longitude = long 
     } 

override func viewDidLoad() { 
    super.viewDidLoad() 
    var latitude: Float 
    var longitude: Float 

更新1: 解決策は以下のとおりです。私の最後のわずかな混乱がそうのように私の先のコントローラでの緯度と経度にintial値を追加するXcodeの提案だった、

var latitude: Float = 0.0 
var longitude: Float = 0.0 

は単に勧告を受け入れ、プロジェクトを継続、心配しないでください。あなたの緯度を仮定します。長い。値がある場合、0.0の値は実際の値に置き換えられます。

+0

:あなたができます変数に初期値を与えたくない場合はオプションを使用してください – 3stud1ant3

+0

また、有効な提案、ありがとう、スタッド。 – jonpeter

答えて

1

私は、次のスニペットは、先のコントローラMapsViewからのものであることを前提としています

override func viewDidLoad() { 
    super.viewDidLoad() 
    var latitude: Float 
    var longitude: Float 
} 

あなたはこのように、あなたのviewDidLoad関数の外あなたの変数を宣言する必要があります:ただの情報のため

var latitude: Float 
var longitude: Float 

override func viewDidLoad() { 
    super.viewDidLoad() 

} 
+0

それは解決策でした、ありがとう!最初に試してみたときのちょっとした混乱に関するメモを追加します。 – jonpeter

+0

素晴らしい!喜んで助けてください。 –

関連する問題