我尝试使用NSFetchedResultsControllerDelegate删除tableView Cell。我在TabbleView提交函数中使用了这个if语句。
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
if editingStyle == .delete {
if let person = fetchedResultsController.object(at: indexPath){
fetchedResultsController.managedObjectContext.delete(person)
}
}
}
这是我得到的错误: 条件绑定的初始化程序必须具有可选类型,而不是' Person'
如果我将此人视为视障人士
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
if editingStyle == .delete {
if let person = fetchedResultsController.object(at: indexPath) as? Person{
fetchedResultsController.managedObjectContext.delete(person)
}
}
}
我收到此警告: 类型' Person'的非可选表达式用于检查选项
它似乎正在处理警告,但我想澄清这一点,以便我更好地了解正在发生的事情。