Posts

Post marked as solved
1 Replies
155 Views
Hi everyone, It is the first time for me working with AppKit and a NSTableView. It is backed by a NSFetchedResultsController for Core Data. When there are changes to the dataset, a Notification is being sent: func controller(_ controller: NSFetchedResultsController<NSFetchRequestResult>, didChange anObject: Any, at indexPath: IndexPath?, for type: NSFetchedResultsChangeType, newIndexPath: IndexPath?) { guard let links = self.fetchedResultsController.fetchedObjects else { return } if self.viewContext.hasChanges { try? self.viewContext.save() } self._links = links NotificationCenter.default.post(name: .reloadLinkList, object: nil) } NotificationCenter.default.publisher(for: .reloadLinkList).receive(on: RunLoop.main).sink { notification in self.list.tableView.reloadData() self.list.linksModel.selectedRows = IndexSet([]) } .store(in: &cancellables) This works great for inserting and updating data. When I try to delete something, I get: Thread 1: Fatal error: UnsafeRawBufferPointer with negative count The code for deleting selected objects looks as following: // selector methode for UIMenuItem`s action @objc func onDeleteSelectedLinks(_ sender: AnyObject) { list.linksModel.deleteLinks(links: selectedLinks) } // Method for deleting links from the view context func deleteLinks(links: [LBLink]) { for link in links { self.viewContext.delete(link) } } Thank you for any help in advance!
Posted
by dhaydl.
Last updated
.