条件转换警告成为条件绑定的初始化程序必须具有可选错误

时间:2016-12-15 19:02:21

标签: ios swift xcode swift3 nsfetchedresultscontroller

我尝试使用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'的非可选表达式用于检查选项

它似乎正在处理警告,但我想澄清这一点,以便我更好地了解正在发生的事情。

0 个答案:

没有答案