Количество ошибок в ядре iOS превышает число объектов после выборки
Я создаю приложение, которое сохраняет местоположения в основных данных, когда соединение с сервером больше не доступно, а затем передает эти местоположения на сервер, когда соединение восстанавливается.
После извлечения и печати этих извлеченных объектов из базовых данных я изначально получаю массу ошибок. Я понимаю ошибки и что они представляют, но не должно ли количество ошибок быть одинаковым количеством объектов? Количество ошибок значительно превышает количество объектов (я могу распечатать более 100 ошибок только для 10 объектов массива объектов Location {longitude, latitude, timestamp}).
Я надеялся, что кто-нибудь посоветует мне, что я делаю неправильно или это обычное поведение. Очень признателен.
AppDelegate.swift вызывает выборку и печатает основные объекты данных, когда сервер возвращается к подключенному
var fetchedCoreData = self.coreDataManagement.fetchLog()
for dataPoints in fetchedCoreData
{
println(dataPoints)
}
`CoreDataManager.swift обрабатывает хранение / выборку основных данных объекта Location
var locations = [NSManagedObject]()
//coordinates passed from AppDelegate
func saveCoords(latCoord: String, longCoord: String, timeCoord: String) {
let appDelegate =
UIApplication.sharedApplication().delegate as AppDelegate
let managedContext = appDelegate.managedObjectContext!
let entity = NSEntityDescription.entityForName("Location",
inManagedObjectContext:
managedContext)
let coordsInfo = NSManagedObject(entity: entity!,
insertIntoManagedObjectContext:managedContext)
coordsInfo.setValue(latCoord, forKey: "latitude")
coordsInfo.setValue(longCoord, forKey: "longitude")
coordsInfo.setValue(timeCoord, forKey: "timestamp")
var error: NSError?
if !managedContext.save(&error) {
println("Could not save \(error), \(error?.userInfo)")
}
locations.append(coordsInfo)
}
`
//fetch core data objects
func fetchLog() -> Array<AnyObject> {
let appDelegate =
UIApplication.sharedApplication().delegate as AppDelegate
let fetchRequest = NSFetchRequest(entityName: "Location")
fetchRequest.returnsObjectsAsFaults = false;
var fetchResults = appDelegate.managedObjectContext!.executeFetchRequest(fetchRequest, error: nil)
return fetchResults! as Array<AnyObject>
}
`