【问题标题】:Contextual type String, float, f float cannot be used with array literal上下文类型 String、float、f float 不能与数组字面量一起使用
【发布时间】:2017-08-31 23:11:46
【问题描述】:
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]]

我如何设置不正确?

【问题讨论】:

    标签: arrays swift string


    【解决方案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

    【讨论】:

    • [ ] 是方括号,而不是尖括号 (< >)。
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多