Я проверил другие ответы, но они, похоже, не отвечают на мой вопрос правильно. Пожалуйста, если есть очевидный, который я не видел, поставьте его в комментарии для меня :)- [__ NSCFNumber row]: непризнанный селектор отправлен в экземпляр
У меня есть таблицаView, в которой база данных Realm используется как источник данных. Я хочу иметь возможность удалить из источника удаляемую ячейку.
Вот код:
func objectsForSection(section: UInt) -> RLMResults {
let categoryName = (Category.allObjects()[section] as Category).name
return Product.objectsWhere("productCategory.name == '\(categoryName)'")
}
override func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
if editingStyle == .Delete {
// Delete the row from the data source
var realm = RLMRealm.defaultRealm()
let productsForSection = objectsForSection(UInt(indexPath.section)) // This returns an RLMResults
let product = productsForSection[UInt(indexPath.row)] as Product
realm.beginWriteTransaction()
realm.deleteObject(product)
realm.commitWriteTransaction()
tableView.deleteRowsAtIndexPaths([indexPath.row], withRowAnimation: .Fade)
} else if editingStyle == .Insert {
// Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
}
}
Он падает, когда я делаю салфетки по горизонтали и нажмите удалить. Что я делаю не так?
Заранее благодарен!
Спасибо за тонну !! Просто интересно, почему это не сработало, просто так я понимаю полностью? :) @Rob – Tomblasta
Он ожидал массив объектов «NSIndexPath», и одна из первых вещей, которые, по-видимому, пытались сделать, это вызвать метод «row» на этом объекте. Но вы отправили ему номер, а не 'NSIndexPath', поэтому, когда он пытался вызывать' row' на этом объекте, он не удался. – Rob
О, хорошо спасибо, так почему же он не появился как синтаксическая ошибка? – Tomblasta