Ich arbeite an einem Projekt in Swift 3.0, wo ich ein Kerndatenmodul mit einer Entität namens "PlayListDetails" habe. Dies beinhaltet zwei Unterelemente namens playlistName und trackID. Jeder Playlist-Name hat also eine TrackID-Interline. Meine Anforderung besteht darin, ein bestimmtes Tupel zu löschen, wenn der Parameter indexPath.row übergeben wurde. Obwohl ich eine Methode implementiert habe, nachdem ich die Methode ausgeführt habe, gibt es eine Ausnahme: "fataler Fehler: Index außerhalb des gültigen Bereichs". Meine Methoden sind wie unten, wo ich Daten und die Methode zum Löschen von Daten speichern.Löschen eines Datensatzes aus einer Entität in Kerndaten
speichern
public static func savePlaylistDetails(audio:[(title:String,healerName:String,trackUrl:String, trackID:String, imageUrl: String)] = [], playListName: String) {
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let context = appDelegate.persistentContainer.viewContext
let newPlaylist = NSEntityDescription.insertNewObject(forEntityName: PlayList_DETAILS_ENTITY, into: context)
let track = audio.map{$0.trackID}
print("Track",track)
let trackId = track[0]
print("ID is :",trackId)
newPlaylist.setValue(playListName, forKey:"playlistName")
newPlaylist.setValue(trackId, forKey:"trackID")
do{
try context.save();
print("Saved.....")
}
catch{
print("There was an error")
}
}
Löschen // das ist, wo ich die Ausnahme zu bekommen, und ich übergeben Sie die ausgewählten rowIndex an die Funktion
func deleteCoreData(rowIndex: Int) {
let managedContext = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
var playList = [PlayListDetails]()
managedContext.delete(playList[rowIndex]) // this is where the exception throws
do {
try managedContext.save()
}catch{
print("fail")
}
}
Was bin ich ??
Dies alles löschte ich – danu
hatte Sie Prädikat zu machen, wie ich oben zur Verfügung gestellt haben (kommentiert), mit dem Prädikat Sie haben Bedingungen angeben, für welche Elemente Sie löschen möchten! – dip
ein Beispiel-Code-Schnipsel würde viel zu schätzen – danu