Итак, переместив мой код на Swift 3
, я немного застрял. Кажется, NSBatchDeleteRequest
требует iOS 10
сейчас? Единственный способ сделать сборку кода - это следующий фрагмент:
func removeAllChargerData(){
// Remove all charging data from persistent storage
let fetchRequest: NSFetchRequest<NSFetchRequestResult> = ChargerPrimary.fetchRequest()
let entity = NSEntityDescription.entity(forEntityName: "ChargerPrimary", in: self.secondMoc)
fetchRequest.entity = entity
let deleteRequest = NSBatchDeleteRequest(fetchRequest: fetchRequest)
do {
try self.secondMoc.execute(deleteRequest)
} catch {
let deleteError = error as NSError
NSLog("\(deleteError), \(deleteError.localizedDescription)")
}
}
Однако появляется предупреждение о том, что fetchRequest()
доступно только в iOS 10
и новее. Если я определяю fetchRequest
следующим образом, я получаю сообщение об ошибке, потому что он ожидает, что fetchRequest
имеет тип аргумента NSFetchRequestResult
:
let fetchRequest = NSFetchRequest<ChargerPrimary>(entityName: "ChargerPrimary")