是否可以使用SwiftData进行强引用循环?

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

几乎在我见过的所有关于 SwiftData 的教程中,它们都将 @Model 相互关联起来。 是否可以使用 SwiftData 进行强引用循环?或者将它们标记为 @Relationship(deleteRule: .cascade) 或 nullify 就足够了吗?

示例。

@Model
class Country {
 var name: String
 var states: [State]

 init(...)...
} 

@Model
class State {
 var name: String
 var country: Country

 init(...)...
} 
swift model swift-data
1个回答
0
投票

模型本身不存储关系,在幕后存储由

ModelContext
解决。因此,从这个角度来看,即使是循环关系也是安全的(保留循环)。

仅当您的数据库规则要求相关模型也被删除时,才需要

@Relationship(deleteRule: .cascade)

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