Код в xcode 6 больше не работает в xcode 6.3.1

Перед этим, чтобы удалить значение ячейки в UItableview, я использую следующий код, и он работает как надо.... но теперь он дает мне ошибку. ОШИБКА: Невозможно вызвать "deleteObjects" со списком аргументов типа "(NSManagedObject)" в следующей строке:

context.deletedObjects(results[indexPath.row] as NSManagedObject)

Как это исправить? Коды в функции участвуют:

     let cell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "Default")
            var appDel = (UIApplication.sharedApplication().delegate as! AppDelegate)
            var context = appDel.managedObjectContext
            var request = NSFetchRequest(entityName: "UserCholesterol")
            request.returnsObjectsAsFaults = false
var results: NSArray = context!.executeFetchRequest(request, error: nil)!
        context.deletedObjects(results[indexPath.row] as NSManagedObject)

        context!.save(nil)
        totalEntries = totalEntries - 1
        tblLog.reloadData()

2 ответа

Решение

Удаление управляемого объекта выполняется с context.deleteObject(anObject), Попробуй это:

context.deleteObject(results[indexPath.row] as NSManagedObject)

deletedObjects это просто свойство NSManagedObjectContext, а не метод. Но есть метод, называемый - deleteObject:,

Попробуйте заменить на эту строку кода:

context.deleteObject(results[indexPath.row] as! NSManagedObject) // in Xcode 6.3 and above,you have to add ! after `as` keyword.
Другие вопросы по тегам