Приложение закрывается при попытке получить значение объекта - PullRequest
0 голосов
/ 03 апреля 2019

Моя домашняя работа - получить массив JSON и сохранить его в CoreData, а затем извлечь его в UITableView.

. Я впервые работаю с CoreData и уже сохранил объекты вCoreData, но при получении я не мог получить Object из класса, который я определил, но вместо этого я получил [NSManagedObject].Поэтому я добавил @NSManaged к каждому полю в моем определенном классе, но затем приложение закрывается.

Movie.swift

import Foundation
import CoreData
class Movie :NSObject, Codable{
    @NSManaged var title:String
    @NSManaged var image:String
    @NSManaged var rating:Double
    @NSManaged var releaseYear:Int
    @NSManaged var genre:[String]

    init(title:String, image:String, rating:Double, releaseYear:Int, genres:[String]) {
        super.init()
        self.title = title
        self.image = image
        self.rating = rating
        self.releaseYear = releaseYear
        self.genre = genres
    }

    var title1:String{
        get{
            return title
        }
    }
}

Основная проблема должна быть в Movie.swift,Я посмотрел это онлайн, и я не мог найти много, что могло бы помочь.Может быть, мне нужно добавить NSManagedObject вместо NSObject?

Ответы [ 2 ]

0 голосов
/ 03 апреля 2019

Если у вас есть базовая модель данных, Xcode может сгенерировать класс модели для вас.Откройте файл xcdatamodel и в строке меню перейдите к Editor -> Create NSManagedObject Subclass. Menu option

0 голосов
/ 03 апреля 2019

Некоторые проблемы

  • Класс, представляющий сущность базовых данных , должен быть подклассом NSManagedObject. Позвольте Xcode создать подкласс (ы) от вашего имени.
  • Пользовательский метод init нельзя использовать, если он не является удобным инициализатором, вызывающим init (entity: insertInto:) или другими назначенными инициализаторами.
  • Реализовать Codable не просто. См. Как использовать Swift 4 Codable в базовых данных

Для получения дополнительной информации, пожалуйста, прочитайте Руководство по программированию основных данных

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