SwiftData:致命错误:找不到新关系的支持数据

问题描述 投票:0回答:1

我有两个与 SwiftData 相关的模型:

@Model
class Assistant {
    var id: String
    var threadId: String
    var name: String
    var model: String
    var instructions: String
    var lastMessageDate: Date
    var messages: [Message]
    
    init(id: String, threadId: String, name: String, model: String, instructions: String, lastMessageDate: Date, messages: [Message]) {
        self.id = id
        self.threadId = threadId
        self.name = name
        self.model = model
        self.instructions = instructions
        self.lastMessageDate = lastMessageDate
        self.messages = messages
    }
}

@Model
class Message {
    var id: String
    var systemId: UUID
    var role: String
    var date: Date
    var content: String
    var assistant: Assistant?
    
    init(id: String, systemId: UUID, role: String, date: Date, content: String, assistant: Assistant? = nil) {
        self.id = id
        self.systemId = systemId
        self.role = role
        self.date = date
        self.content = content
        self.assistant = assistant
    }
}

尝试添加新消息时

let newMessage = Message(id: UUID().uuidString, systemId: UUID(), role: "User", date: Date(), content: newAssistantMessage, assistant: assistant)

我收到错误

SwiftData/BackingData.swift:366:致命错误:找不到新关系的支持数据 - 可选(AncistrsAI.Assistant)

我感觉它之前可以工作,然后突然停止了。谁能发现这种关系中的错误吗?

我玩了很多 ID,也尝试过

@Relationship(inverse: \Message.assistant) var messages: [Message]

但这里没有任何作用。真是令人沮丧。

使用XCode 15.3,最低部署目标是iOS17.0。

swiftui swiftdata swift-data-relationship
1个回答
0
投票

我在撤消时也遇到了同样的问题。我遇到的问题是在某些时候撤消时我撤消了根对象,因此在添加时找不到支持数据

© www.soinside.com 2019 - 2024. All rights reserved.