Swift: как хранить массив пользовательских объектов в Core Data?

С помощью Swift а также Core DataЯ хочу хранить массив пользовательских Game объекты в моем обычае User класс в базе данных.

GameOwned переменная является Transformable, Я хочу иметь возможность хранить [Game] внутри базы данных.

Как я могу добиться этого? Есть ли что-то особенное, что мне нужно сделать, чтобы иметь возможность прочитать его, как только я извлечу его из базы данных, кроме приведения его [Game]?

Класс пользователя

class User: NSManagedObject {

    @NSManaged var gameOwned: AnyObject
}

Игровой класс

class Game: NSManagedObject {

    @NSManaged var coverPhoto: String
    @NSManaged var genre: String
    @NSManaged var id: String
    @NSManaged var isActive: NSNumber
    @NSManaged var isOwned: NSNumber
    @NSManaged var name: String
    @NSManaged var platform: String

}

1 ответ

Решение

Ваш Game уже является объектом Core Data. Вы должны установить отношения между User а также Game, Это должно быть для многих, и вы могли бы назвать это games,

Отношения являются очень основными понятиями базовых данных. Вы делаете это в редакторе модели Core Data в XCode. Пожалуйста, прочтите это сначала в Руководстве по программированию основных данных.

Если у вас есть эта настройка, вы можете получить доступ к связанным элементам очень просто.

var aGame = user.games.anyObject as? Game

Вышеприведенное не является обязательным, потому что не может быть игр и т. Д

Другие вопросы по тегам