情報を配列に渡そうとしているときに問題があります。しかし、私は問題が何であるか分かりません。これは私のコードです。私はこれらの特定の都市からの画像や情報をユーザーがクリックするたびに表示しようとしています。タイプ 'Location'の値を期待されるエレメントタイプ 'String'に変換できません
var locations : [String]! = [];
override func viewDidLoad() {
super.viewDidLoad()
let locationDescriptions = buildDescriptions()
let parisImage = UIImage(named: "paris.jpg");
let londonImage = UIImage(named: "london.jpg");
let barcelonaImage = UIImage(named: "barcelona.jpg");
let mauiImage = UIImage(named: "maui.jpg")!;
let newYorkImage = UIImage(named: "new_york.jpg");
let sanFranciscoImage = UIImage(named: "san_francisco.jpg");
let paris = Location(name: "Paris", image: parisImage!, description: locationDescriptions["Paris"]!);
let london = Location(name: "London", image: londonImage!, description: locationDescriptions["london"]!);
let barcelona = Location(name: "Barcelona", image: barcelonaImage!, description: locationDescriptions["Barcelona"]!);
let maui = Location(name: "Maui", image: mauiImage, description: locationDescriptions["Maui"]!);
let newYork = Location(name: "New York", image: newYorkImage!, description: locationDescriptions["New York"]!);
let sanFrancisco = Location(name: "San Francisco", image: sanFranciscoImage!, description: locationDescriptions["San Francisco"]!);
// This is where the error shows
locations = [paris, london, barcelona, maui, newYork, sanFrancisco];
}
'' [場所]は[[文字列]! 'として注釈されているのはなぜですか?あなたは初期値を与えるので、これはオプションではなく、 '[Location]'を代入しようとしているので、(おそらく) '[Location]'にする必要があります。 Btwでは、行末にセミコロンを使用する必要もありません。 – Hamish