代码之家  ›  专栏  ›  技术社区  ›  Evgeniy Kleban

理解swift 3语法

  •  0
  • Evgeniy Kleban  · 技术社区  · 9 年前

    很多次遇到Swift函数编译器都建议我写一些类似的东西:

    var personArr3 = (0...5).map(transform: (Int) throws -> (Int) throws -> >)
    

    var personArr3 = (0...5).map { (<Int>) -> T in
        <code>
    }
    

    我真的不知道这意味着什么。

    var personsArr2 = (0...5).map{ _ in
        Person(firstName: "Bobby", lastName: "Little")
    }
    

    这相当简单,并且只提供花括号。

    var personsArr2 = (0...5).map{ _ in
            Person(firstName: "Bobby", lastName: "Little")
        }
    

    如何理解最初建议的代码?谢谢

    1 回复  |  直到 9 年前
        1
  •  2
  •   Alexander    9 年前

    你提供的建议不正确。它本应展示(也可能展示)的是:

    personArr3.(0...5).map(transform: (Int) throws -> T)
    

    这意味着转换函数 map 例外需要单个 Int 参数,并返回一个 T T 确定的结果 ,这将是 [T] (也称为。 Array<T>

    throw 一个错误。如果是这样,那么 地图 功能将 rethrow