上下文类型String,float,f float不能与数组文字一起使用

时间:2017-08-31 23:11:47

标签: arrays swift string

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]]

我如何正确设置?

2 个答案:

答案 0 :(得分:1)

您的内部对象应该使用()。你正在使用[]。

您创建的数组的类型是[[Any]]而不是[(String,Float,Float)],如您所愿。

将方括号更改为parens,它将解决您的问题。

答案 1 :(得分: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