我对以下代码的理解是:
func generateRandomData() -> [[UIColor]] {
let numberOfRows = 2
let numberOfItemsPerRow = 7
return (0..<numberOfRows).map { _ in
return (0..<numberOfItemsPerRow).map { _ in UIColor.randomColor() }
}
}
解释:
// Returns an array of arrays
func generateRandomData() -> [[UIColor]] {
// 2 - Defines local variables
let numberOfRows = 2
let numberOfItemsPerRow = 7
// 3 - From 0 to numberOfRows creates a map?
// 4 - For each element applies the high order function map using the function defined on the right
return (0..<numberOfRows).map { _ in
// For each element in the array applies another high order map function that creates numberOfItemsPerRow colours
return (0..<numberOfItemsPerRow).map { _ in UIColor.randomColor() }
}
}
代码的作用:
所以基本上代码使用了map关键字的两倍,并创建了总共#numberOfItemsPerRow
个数组,每个数组包含#numberOfItemsPerRow
项,每个项都是UIColor类型。
这是对的吗?
答案 0 :(得分:0)
所以代码理解正确。
正如有人建议验证我的理解的好方法是使用playgrounds。
另一篇有用的文章让我更了解Swift的新功能如下:
https://www.weheartswift.com/higher-order-functions-map-filter-reduce-and-more/