есть ли функция, объединяющая NSSet и FetchResult <> - PullRequest
0 голосов
/ 25 марта 2020

Я кодирую в Coredata, Есть два объекта (сообщение и ключевое слово) с отношением один ко многим. Во-первых, я создал три экземпляра Keyword, используя @Environment (.managedObjectContext) var mo c. se c, я создал один экземпляр сообщения, используя @Environment (.managedObjectContext) var moc третий, я хочу добавить три ключевых слова в сообщение, но не удалось, ключевые слова в сообщении - NSSet, сообщение - FetchResults, как оно может работать, Ths .

extension Message {

    @nonobjc public class func fetchRequest() -> NSFetchRequest<Message> {
        return NSFetchRequest<Message>(entityName: "Message")
    }

    @NSManaged public var id: UUID?
    @NSManaged public var content: String?
    @NSManaged public var creatAt: Date?
    @NSManaged public var user: User?
    @NSManaged public var keywords: NSSet?
    @NSManaged public var photoes: NSSet?
}
extension Keyword {

    @nonobjc public class func fetchRequest() -> NSFetchRequest<Keyword> {
        return NSFetchRequest<Keyword>(entityName: "Keyword")
    }

    @NSManaged public var id: UUID?
    @NSManaged public var title: String?
    @NSManaged public var message: Message?

}
 .navigationBarTitle("Send Message", displayMode: .inline)
            .navigationBarItems(trailing: Button(action: {

            }) {
                Text("Send")
                    .onTapGesture {
                        let newMessage = Message(context: self.moc)
                        newMessage.keywords = self.keywords
            })
        }

1 Ответ

0 голосов
/ 25 марта 2020

Ваш класс Message должен иметь сгенерированный метод с именем addToKeywords, который принимает Set в качестве аргумента

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