Arrays 从JSON响应向多维数组追加元素

Arrays 从JSON响应向多维数组追加元素,arrays,swift2,alamofire,swifty-json,Arrays,Swift2,Alamofire,Swifty Json,我正在使用Alamofire和SwiftyJSON 代码: 我该怎么做?有什么想法吗 谢谢您只需更换 array.append(Array(count: 4, repeatedValue: concertTag)) 与 你可以像这样取回数据,例如: for arr in array { print("tag: " + arr[0]) print("loc: " + arr[1]) } 但我建议另一种方法:使用元组。 首先,我们创建一个类型结果,因为它很方便: typealia

我正在使用Alamofire和SwiftyJSON

代码:

我该怎么做?有什么想法吗


谢谢

您只需更换

array.append(Array(count: 4, repeatedValue: concertTag))

你可以像这样取回数据,例如:

for arr in array {
    print("tag: " + arr[0])
    print("loc: " + arr[1])
}
但我建议另一种方法:使用元组。

首先,我们创建一个类型结果,因为它很方便:

typealias TagAndLocation = (tag: String, location: String)
然后准备一个空的结果数组:

var resultTuples = [TagAndLocation]()
在循环中填充元组数组:

for (_, subJSON) in json {
    let Tag = subJSON["Tag"].string!
    let Location = subJSON["Location"].string!

    let tagloc = (tag: Tag, location: Location)
    resultTuples.append(tagloc)
}
然后,您可以通过两种方式访问数据:

for (tag, loc) in resultTuples {
    print("tag: " + tag)
    print("loc: " + loc)
}

for result in resultTuples {
    print("tag: " + result.tag)
    print("loc: " + result.location)
}

注意:变量名称应以小写字母开头。以大写字母开头通常用于类、类型、协议等。

谢谢!然后我可以在cellForRowAtIndexPath中添加这个数组并使用re-indexPath.row作为位置吗?不客气。无论您选择数组数组还是元组数组,您以后当然可以从中检索索引数据,只是元组版本在我看来会更容易、更安全。//至于如何在表格中满足您的需求,这是另一个话题,如果您觉得被卡住了,那么稍后应该提出自己的问题:我们不应该劫持这个有自己主题的问题。:)你是对的!我上传了一个新问题:为什么我不能访问for循环之外的resultuppls。如果我在内部打印它,我得到数组;如果我在外部打印它,我得到空数组。
var resultTuples = [TagAndLocation]()
for (_, subJSON) in json {
    let Tag = subJSON["Tag"].string!
    let Location = subJSON["Location"].string!

    let tagloc = (tag: Tag, location: Location)
    resultTuples.append(tagloc)
}
for (tag, loc) in resultTuples {
    print("tag: " + tag)
    print("loc: " + loc)
}

for result in resultTuples {
    print("tag: " + result.tag)
    print("loc: " + result.location)
}