2017-11-22 9 views
0

私は別のUIViewControllerに配列を渡すが、このエラーを取得しようとしています:コード「[文字列]」と入力して「[ViewController.Variable_Name]」型の値を割り当てることができません

のこのラインの

Cannot assign value of type '[ViewController.Lugares]' to type '[String]' 

if(Array[0]=="Lahua Park"){ 
     //send me to that location 
    } 

最初のビューコントローラ:

import UIKit 

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { 

    ... 

    var fetchedCountry = [Lugares]() 

    class Lugares{ 
     var lugares : String 

     init(lugares: String){ 
      self.lugares = lugares 
     } 
    } 

    ... 

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
     performSegue(withIdentifier: "segue", sender: self) 
    } 

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
     let secondController = segue.destination as! SecondController 

     secondController.transferPaises = fetchedCountry (Error Ocurrs) 
    } 

2番目のビューContoller:あなたができないので、

var fetchedCountry = [Lugares]() 

class SecondController: UIViewController { 

var transferPaises = Array<String>() 

.. 

override func viewDidLoad() { 
    super.viewDidLoad() 


    if (transferPaises[0]=="Mexico") { 
     print(transferPaises) 

      location.latitude = 19.432608 
      location.longitude = -99.133209 
      let region = MKCoordinateRegion(center: location, span: span) 

      map.setRegion(region, animated: true) 

     } 

    .... 

    } 
} 

答えて

0

の配列へがあなたのUIViewController

public class Lugares{ 
     var lugares : String 

     init(lugares: String){ 
      self.lugares = lugares 
     } 
} 

外で宣言このパブリッククラス作りにも、だから、任意のソリューションをfetchedCountryタイプ

var transferPaises = [Lugares]() 
+0

2番目のビューコントローラで比較するとうまく動作しませんでした。[lista.Lugares] [ルワール]、ルーマニアの名前の代わりに [lista.Lugares、lista.Lugares、lista.Lugares] – Netox

+0

どのように印刷していますか? – Anushk

+0

print(fetchedCountry)(何を送信しているか確認できます) – Netox

0

transferPaises

var transferPaises = Array<String>() 

fetchedCountryませ文字列の配列である文字列の配列ですタイプの配列を割り当てます。タイプString

+0

に一致するようにtransferPaisesを変更? – Netox

+0

'transferPaises'を' Lugares'の配列にするか、 'Lugares'の配列からString配列を作成し、* that *配列を渡します。 – DonMag

+0

私はコードで私を説明することができます、私は実際には、LugaresからArrayへの解析を理解できません。(ほとんどが盲目的です) – Netox

関連する問題