У меня был странный опыт сегодня днем, и я не могу сказать, в чем проблема. Я разрабатываю приложение для iPhone с помощью Swift, и сегодня я провел его на дороге для пробного прогона. До сих пор я тестировал его только при подключении к Mac.Основные объекты данных удалены, когда iPhone разбился
Приложение отслеживает местоположения и сохраняет это в Core Data при прохождении пользователем. Все было хорошо, и данные были спасены. Это было до тех пор, пока телефон не разбился, и Core Data, похоже, опустели. Данные, безусловно, сохранялись до того, как телефон разбился, поскольку я накладываю сохраненный маршрут на карту, и это определенно отображалось. И функция удаления данных определенно не вызывалась, так как я не получал доступ к единственному контроллеру вида, который его вызывает.
Мой вопрос в том, имеет ли кто-нибудь еще такой опыт или есть известная проблема, при которой основные данные могут быть удалены при сбое телефона?
Edit:
Это код, который я использую для сохранения основных данных:
var context = (UIApplication.sharedApplication().delegate as AppDelegate).managedObjectContext!
var savePosition = NSEntityDescription.insertNewObjectForEntityForName("Positions", inManagedObjectContext: context) as Positions
savePosition.poi = false
savePosition.time = currentTime
savePosition.direction = currentDirection
savePosition.latitude = currentLatitude
savePosition.longitude = currentLongitude
savePosition.game = currentGame
context.save(nil)
Я пропускаю шаг?
Данные кэшируются, и вы можете без проблем работать с ним. Но он сохраняется только в постоянном хранилище данных, когда вы вызываете 'saveContext()' – zisoft
Когда вы говорите, что вы сохранили, что вы хотите сохранить в постоянном хранилище, я предполагаю, но какой магазин? Это определенно не является нормальным для сохранения данных, чтобы потеряться при сбое. Я этого не видел. Согласитесь с выше, звучит как saveContext не происходит. – RegularExpression
Я добавил свой код. Я пропустил saveContext()? Я думал, что мой context.save() выполняет работу? –