Ich versuche, die folgenden Elemente aus einem Array von Wörterbüchern für den Zugriff auf und ich habe zwei Probleme (beide sind unterschiedliche Ansätze) Die. Array von Wörterbüchern wird wie folgt initialisiert:Swift for-Schleife „Expression Typ‚[[String: String]]‘ist nicht eindeutig, ohne mehr Kontext
var testingArray = [[String: String]()]
testingArray.append(["name": "Ethiopia", "url": "localhost:8088"])
testingArray.append(["name": "Bugatti", "url": "localhost:8088"])
testingArray.append(["name": "Brazil", "url": "localhost:8088"])
testingArray.append(["name": "Jasmine", "url": "localhost:8088"])
testingArray.append(["name": "Hello", "url": "localhost:8088"])
die erste Methode:
for (k,v) in testingArray {
// code here
}
nicht aufgrund laufen (die die for-Schleife auf der Leitung erscheint, wird initialisiert):
"Expression type '[[String : String]]' is ambiguous without more context
Die zweite Methode:
for indices in testingArray {
for(k, v) in indices {
print(indices.keys)
}
}
gibt die folgende:
LazyMapCollection<Dictionary<String, String>, String>(_base: ["url": "localhost:8088", "name": "Ethiopia"], _transform: (Function))
LazyMapCollection<Dictionary<String, String>, String>(_base: ["url": "localhost:8088", "name": "Ethiopia"], _transform: (Function))
LazyMapCollection<Dictionary<String, String>, String>(_base: ["url": "localhost:8088", "name": "Bugatti"], _transform: (Function))
LazyMapCollection<Dictionary<String, String>, String>(_base: ["url": "localhost:8088", "name": "Bugatti"], _transform: (Function))
LazyMapCollection<Dictionary<String, String>, String>(_base: ["url": "localhost:8088", "name": "Brazil"], _transform: (Function))
LazyMapCollection<Dictionary<String, String>, String>(_base: ["url": "localhost:8088", "name": "Brazil"], _transform: (Function))
LazyMapCollection<Dictionary<String, String>, String>(_base: ["url": "localhost:8088", "name": "Jasmine"], _transform: (Function))
LazyMapCollection<Dictionary<String, String>, String>(_base: ["url": "localhost:8088", "name": "Jasmine"], _transform: (Function))
LazyMapCollection<Dictionary<String, String>, String>(_base: ["url": "localhost:8088", "name": "Hello"], _transform: (Function))
LazyMapCollection<Dictionary<String, String>, String>(_base: ["url": "localhost:8088", "name": "Hello"], _transform: (Function))
Hier ist Pseudo-Code Äquivalent, das ich zu erreichen bin versucht:
for(int i = 0; i < sizeOfArray; i++ {
print testingArray[i]."name"
print testingArray[i]."url"
}
Ich habe meinen Kopf wurde Kratzen über dies seit Tagen, aber ich weiß nicht, schnell und seine Idiome gut genug, um dies allein zu lösen, würde jede Hilfe sehr geschätzt werden (vor allem wenn wir herausfinden können, wie wir # 1 arbeiten können).
Um eine schnelle Array mit Indizes iterieren, https://stackoverflow.com/a/24028458/958064 sehen - Swift 3.0 ein fügt 'enumerated()' Methode, die OP hier helfen würde – sbauch