Bir sözlük dizisinden aşağıdaki öğelere erişmeye çalışıyorum ve iki sorunum var (her ikisi de farklı yaklaşımlardır). aşağıdaki gibi sözlük dizisi başlatılır:Swift for-loop "İfade türü" [[String: String]] 'daha fazla bağlam olmadan belirsiz
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"])
birinci yöntem:
for (k,v) in testingArray {
// code here
}
nedeniyle (döngü için başlatılır satırda görünür) çalıştırmak Will :
"Expression type '[[String : String]]' is ambiguous without more context
İkinci yöntem:
for(int i = 0; i < sizeOfArray; i++ {
print testingArray[i]."name"
print testingArray[i]."url"
}
Başımı çizilmeye edilmiştir:
İşteLazyMapCollection<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))
elde etmek çalışıyorum yalancı kod eşdeğerdir:
for indices in testingArray {
for(k, v) in indices {
print(indices.keys)
}
}
aşağıdaki döndürür Bunun için günlerce ama hızlı ve onun deyimlerini bu çözmek için yeterince iyi bilmiyorum, herhangi bir yardım büyük ölçüde apprec (1 çalışmayı nasıl elde edeceğimizi anlayabilirsek).
endeksleri ile hızlı bir dizi yineleme için, https://stackoverflow.com/a/24028458/958064 bkz:
Ben böyle bir şey arıyorsanız düşünüyorum OP burada – sbauch