Получить последний вставленный элемент из Core Data, iOS - PullRequest
4 голосов
/ 29 января 2011

есть ли способ получить последний вставленный элемент в базу данных основных данных?

Ответы [ 3 ]

4 голосов
/ 05 февраля 2011

Возвращает последний вставленный объект.

setFetchLimit: 1 и setFetchOffset: [количество всех записей - 1]

1 голос
/ 19 августа 2016

Метод 1:
Я расширил ответ @Olsi с помощью примера кода, включая строку для получения номера всех сущностей.Вот как я это сделал:

let appDelegate: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let context: NSManagedObjectContext = appDelegate.managedObjectContext

let request = NSFetchRequest(entityName: "MyEntity")
let allElementsCount = context.countForFetchRequest(request, error: nil)
request.fetchLimit = 1
request.fetchOffset = allElementsCount - 1
request.returnsObjectsAsFaults = false

Метод 2:
Однако есть другой подход, использующий sortDescriptors.Не уверен, что лучше подходит, они оба делают одну и ту же работу:

let appDelegate: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let context: NSManagedObjectContext = appDelegate.managedObjectContext

let request = NSFetchRequest(entityName: "MyEntity")
request.sortDescriptors = [NSSortDescriptor(key: "momentTimeStamp", ascending: false)]
request.fetchLimit = 1
request.returnsObjectsAsFaults = false
0 голосов
/ 29 января 2011

Я не думаю, что это изначально поддерживается Core Data.Я полагаю, что вам лучше всего добавить атрибут dateInserted к вашей сущности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...