ich ein Problem mit Löschen des Elements haben von Array ich versuche es lange Zeit zu lösen, aber ich konnte nichtProbleme mit Lösch Element in Array mit schnellen 3
mein Problem ist: ich habe Wörterbuch [Int: String] welche enthalten Elemente die Benutzer wählen, diese Elemente aus der Tabellenansicht Zelle für sie nach dem löschen dieses Wörterbuch hat ein Element aus Typ String und mit Schlüssel Schlüsseln ist indexPath.row folgender mein Wörterbuch Code:
var dictionaryOfItems = [Int:String]()
dictionaryOfItems.updateValue("Banana", forKey: 0)
dictionaryOfItems.updateValue("Cucumber", forKey: 3)
und ich habe ein Array, das Array von Elementtyp String enthält die f Code ach ist mein Array:
var array :[String] = ["Banana","Apple","Orange","Cucumber","lettuce","Milk","Tea"]
ich brauche Elemente aus Array zu löschen, die dictionarOfItems es
enthalten ist, wenn ich versuche, die Elemente aus Array löschen i die Fehlermeldung Index off Bereich bekommen, wie kann ich das beheben bitte
folgende ist mein voller Code:
var array :[String] = ["Banana","Apple","Orange","Cucumber","lettuce","Milk","Tea"]
var dictionaryOfItems = [Int:String]()
dictionaryOfItems.updateValue("Banana", forKey: 0)
dictionaryOfItems.updateValue("Cucumber", forKey: 3)
for (index,_) in dictionaryOfItems {
if array[index] == dictionaryOfItems[index] {
array.remove(at: index)
}
}
Ich sehe keine Fehlermeldung. Es löscht "Banana" korrekt aus dem Array. Beachten Sie auch, dass sich jedes Mal, wenn Sie etwas löschen, die Indizes verschieben, so dass nach dem Löschen von "Banana" '" Cucumber "sich beim Index" 2 "befindet und daher bei der nächsten Iteration nicht gelöscht wird. – Keiwan
Ja ich weiß, dass das Array ist es verschieben diese nur löschen Banane von Array und was ist mit dem zweiten Element ist es ist es nicht delet, wie kann ich dieses Problem lösen – Mustafa