CoreData не могу передать persistentContainer во ViewController

coredata

#1

Всем привет!
Пытаюсь освоить CoreData. Нужно вставить ее в существующий проект, но у меня не получается передать persistentContainer во ViewController. Я подумал, что это из-за того что я криво устанавливаю CoreData в мое приложение. Создал новое приложение, сразу кликнул галку “Use Core Data”.

Мое приложение выглядит так:

По мануалу добавляю код в AppDelegate
var window: UIWindow? - добавил сам.

И во ViewController.


При запуске выходит ошибка, которую сам же вызываю, если контейнер во ViewController пуст.

Пробовал устанавливать брейпоинт, показывает, что window в AppDelegate = nil.

Так же обратил внимание, что во все примерах, что я нашел, есть только один файл AppDelegate, а в моем приложении есть еще и SceneDelegate. Наверняка с этим как-то связано, но я не разобрался.

Кто знает, как решить проблему, подскажите, пожалуйста.


#2

Посмотри вот это Видео
Все просто и понятно


VK News Feed Xcode 11
#3

Я видимо забыл указать, что я чайник. Посмотрел видео и еще пару, но не разобрался.


#4

для Swift 5+ текущая задача, которую вы хотите сделать, теперь переехала в SceneDelegate.
Если с английском достаточно хорошо, вот статья


#5

Спасибо! С английским так себе, учу, но попробую разобраться.


#6

Вроде бы разобрался. Но вдруг кому-то пригодиться.
Код который вставлял в AppDelegate нужно вставить в SceneDelegate.
Из SceneDelegate нужно обратиться к persistentContainer магию классов, с помощью которых обращаюсь, даже спинным мозгом не понимаю, но работает.
@Psilc видосик в итоге мне помог, @RexHunt и статья дала какое то понимание, спасибо.