У меня есть приложение на основе OSX на основе документов, написанное в Swift, и я хотел бы отправить некоторые данные из моего оконного контроллера настроек в мой управляемый объектObjectContext.
Поскольку окно настроек, похоже, не вызывается через NSPersistentDocument, но прямо из appDelegate, как лучше всего получить доступ к управляемому объекту для этого контроллера? Выполнение большей части этого с использованием раскадровки и привязок.
Правильно ли я считаю, что если я создам экземпляр ядра ядра в делетете приложения, это приведет к отрицанию того, что было передано через NSPsistentDocument (что может нанести ущерб цели этой вещи)?Получение управляемых объектов в текстовом приложении для контроллера предпочтений
ответ
Что это за данные? Являются ли эти настройки определенными для текущего документа? Мне любопытно только потому, что здесь могут быть разные решения в зависимости от того, что вы хотите выполнить.
Редактировать: Обычно предпочтения должны быть сохранены с помощью NSUserDefaults, но если вы имеете определенную потребность хранить эти данные в вашем персистирующей документе, вы должны быть в состоянии использовать NSDocumentController, чтобы получить список ваших постоянных документов:
Или получить только текущий документ. В любом случае вы можете получить контекст управляемых объектов оттуда:
if let document = NSDocumentController.sharedDocumentController().currentDocument as? NSPersistentDocument { if let context = document.managedObjectContext { // do whatever is needed with the context } }
Core-Data. Строки, в основном. Мне нужен управляемый объект. – BillySangster
Являются ли NSUserDefaults подходящим решением для вашего случая использования? – 0xC0DEBEEF
Я уже загружаю их в NSUserDefaults, я бы скорее поставил их в CoreData за один шаг, вместо того, чтобы использовать дополнительный код, чтобы захватить их дважды. – BillySangster