Ich arbeite in einem Projekt in Swift 3.0 und ich habe eine Schleife, die mir den Zustand eines Objekts geben würde (gibt einen booleschen Wert in einer Array-Sequenz). Meine Anforderung ist, wenn der Elementstatus "wahr" ist, möchte ich den relevanten Indexpfad davon erhalten, also kann ich das gesamte Objekt von meinem ursprünglichen Array verwenden, das indexPath
verwendet. Also in einer Schleife, wie kann ich das auch bekommen? Mein teilweise durchgeführter Code ist unten. In einem Kommentar habe ich angegeben, wo ich diese indexPath
übergeben möchte.Holen Sie den IndexPfad des relevanten Elements in einer Schleife
func tapFunction(sender: UIButton) {
// This gives me the selected indexPath
print("ID :",sender.accessibilityIdentifier!)
if let rowIndexString = sender.accessibilityIdentifier, let rowIndex = Int(rowIndexString) {
self.sateOfNewSongArray[rowIndex] = !self.sateOfNewSongArray[rowIndex]
}
sender.isSelected = !sender.isSelected
for (element) in self.sateOfNewSongArray {
//This is where I wants to pass the rowIndex that became true
if element == true {
selectedSongList.addingObjects(from: [songList[rowIndex]])
}
}
}
Versuchen Sie mit einer aktualisierten Antwort und lassen Sie mich wissen, wenn Sie irgendwelche Verwirrung haben. – Krunal
der Typ meiner Arrays sind NSArray. So funktioniert das nicht – danu
Verwenden Sie NSArray nicht in Swift, Deklarieren Sie Ihr Array, wie ich im letzten Beispielblock gezeigt habe. Beispiel für ein String-Array: late selectedSongList = [String]() Geben Sie hier Ihre Array-Deklaration frei. Ich helfe Ihnen dabei, Ihre Arrays in Swift-Arrays umzuwandeln. – Krunal