0

У меня есть вопрос о наилучшей практике при использовании NSFetchedResultsController и Core Data, когда у вас есть управляемый объект, который имеет набор управляемых объектов в качестве свойства, такие как:Swift NSFetchedResultsController Лучшая практика с вложенными объектами

class SomeObject: NSManagedObject { 
    @NSManaged var name: String 
    @NSManaged var notes: String? 
    @NSManaged var otherObjects: Set<OtherObject>? 
} 

class OtherObject: NSManagedObject { 
    @NSManaged var name: String 
    @NSManaged var notes: String? 
    @NSManaged var parent: SomeObject 
} 

Я использую NSFetchedResultsController для заполнения UITableView для экземпляров «SomeObject». Когда пользователь выбирает один из элементов таблицы, он переходит в другой UIView, который содержит сведения о экземпляре SomeObject, а также UITableView со списком назначенных объектов OtherObjects.

Мой вопрос в том, что является лучшей практикой для эффективного управления таблицей? Должен ли я создать другой NSFetchedResultsController, используя родительский элемент SomeObject, чтобы фильтровать и запрашивать базу данных, или я должен просто заполнить таблицу другими объектами, вытащенными во время первоначального запроса данных? Я вставляю экземпляр SomeObject в следующий UIView, поэтому новое представление имеет ManagedObjectContext и исходную информацию.

ответ

0

Мой вопрос в том, что является лучшей практикой для эффективного управления таблицей?

Преждевременная оптимизация является корнем всего зла (Donald Knuth)

Однако, Core Data не реляционная система управления базами данных. В отношениях Core Data используются ссылки. Поэтому используйте эти ссылки. Это значение по умолчанию. (Core Data использует ошибки и уникальность, поэтому я не ожидаю большой разницы. Но если у вас возникнут проблемы с поведением во время выполнения, вы все равно можете отправить Q на SO.)

 Смежные вопросы

  • Нет связанных вопросов^_^