2017-08-31 11 views
0
let MSULandMarks: [(String, Float, Float)] = [["ALUMNI MEMORIAL CHAPEL", 42.728419, -84.474001], ["BEAUMONT TOWER & CARILLON", 42.731948, -84.482194], ["BRESLIN CENTER", 42.728305, -84.492395], ["DAIRY STORE - SHAW", 42.724292, -84.478380], ["DAIRY STORE - UNION", 42.734195, -84.482827], ["MUNN ICE ARENA", 42.728305, -84.492395], ["THE ROCK", 42.728109, -84.477584], ["SPARTY", 42.731103, -84.487491], ["SPARTAN STADIUM", 42.728132, -84.484831]] 

これを正しく設定しないでください。コンテキストタイプString、float、f floatは配列リテラルで使用できません

答えて

1

タプルの作成に角括弧[]を使用している場合は、()を使用してください。

これは、あなたがそれを行うべきかです:

var MSULandMarks: [(string: String, f1: Float, f2: Float)] = [ 
    ("ALUMNI MEMORIAL CHAPEL", 42.728419, -84.474001), 
    ("BEAUMONT TOWER & CARILLON", 42.731948, -84.482194), 
    ("BRESLIN CENTER", 42.728305, -84.492395) 
] 

あなたが気づいたように、私は簡単にそれらにアクセスするためにタプル要素の名前を与えました。

print(MSULandMarks[1].string) // Prints: BEAUMONT TOWER & CARILLON

+0

'[]'角括弧ではなく、角括弧( '< >')です。 – rmaddy

1

内部オブジェクトには()を使用する必要があります。あなたは[]を使用しています。

作成した配列のタイプは、[(String、Float、Float)]ではない[[Any]]です。

角括弧を括弧に変更すると、問題が解決されます。

関連する問題