Swift 遍历多个数组

Swift 遍历多个数组,swift,Swift,如何在for循环中迭代多个数组。我知道zip方法,但是如果我有9个数组呢 var usernames = [String]() var avatars = [PFFile]() var postDescriptions = [String]() var locations = [String]() var latitudes = [String]() var longitudes = [String]() var postF

如何在for循环中迭代多个数组。我知道zip方法,但是如果我有9个数组呢

var usernames        = [String]()
var avatars          = [PFFile]()
var postDescriptions = [String]()
var locations        = [String]()
var latitudes        = [String]()
var longitudes       = [String]()
var postFiles        = [PFFile]()
var dates            = [Date]()
var uniqueIDs        = [String]()

正如您所见,它们有多种格式。

zip本身就是一个序列,因此原则上您可以编写:

for (username, (avatar, (postDescription, (location, (latitude, (longitude, (postFile, (date, uniqueID)))))))) 
    in zip(usernames, zip(avatars, zip(postDescriptions, zip(locations, zip(latitudes, zip(longitudes, zip(postFiles, zip(dates, uniqueIDs)))))))) {
        // use `username`, `avatar` etc.
}
(其他选项请参见)


唉,看看这一团糟
zip
本身就是一个序列,所以原则上你可以写:

for (username, (avatar, (postDescription, (location, (latitude, (longitude, (postFile, (date, uniqueID)))))))) 
    in zip(usernames, zip(avatars, zip(postDescriptions, zip(locations, zip(latitudes, zip(longitudes, zip(postFiles, zip(dates, uniqueIDs)))))))) {
        // use `username`, `avatar` etc.
}
(其他选项请参见)


唉,看看这一团糟!o_o如果你有9个并行数组,你应该重构代码以使用结构。你不应该有9个数组,你应该有一个
User
类和该类的一个实例数组。o_o如果你有9个并行数组,你应该重构代码以使用结构。你不应该有9个数组,您应该有一个
User
类和该类的一个实例数组。