Swift 4.2: Не удается преобразовать значение типа ‘Notification’ в ожидаемый тип аргумента ‘Notification’

#swift

#быстрый #swift

Вопрос:

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

 @objc func mergeContext(notification: Notification) {
        let sender = notification.managedObjectContext

        if sender != mainThreadManagedObjectContext {
            mainThreadManagedObjectContext.performAndWait {
                [unowned self] in

           self.mainThreadManagedObjectContext.mergeChanges(fromContextDidSave: notification)
            }
        }
    }
  

Комментарии:

1. Пожалуйста, публикуйте текст, а не изображения.

2. вставьте свой код вместо скриншотов

3. Не связано, но, честно говоря, я не думаю, что показывать «средний палец» при публикации вопроса (или даже ответа!) 🙂.

4. У вас есть пользовательский класс Notification ?

5. @AhmadF Извини. Но это старая учетная запись Facebook 🙂 Я не пользуюсь им и забываю свой аватар.

Ответ №1:

Здесь Notification явно является подклассом NSManagedObject

 let sender = notification.managedObjectContext
  

но этот метод mergeChanges(fromContextDidSave:) ожидает класс swift Notification , поэтому вы, вероятно, вызываете неправильную функцию

Комментарии:

1. Спасибо! Я нашел класс объектов CoreData с именем «Notification» 🙂 Я создал и забыл об этом.