Swift 有没有一种方法可以重用模型本身?
我有一个存储用户(UserModel)好友列表的应用程序。如果一个朋友单击了一个用户,则其类型是相同的类型(UserModel)。在Swift中,它不允许递归使用模型,这给了我以下错误: “值类型'OwnerModel'不能具有递归包含它的存储属性”Swift 有没有一种方法可以重用模型本身?,swift,Swift,我有一个存储用户(UserModel)好友列表的应用程序。如果一个朋友单击了一个用户,则其类型是相同的类型(UserModel)。在Swift中,它不允许递归使用模型,这给了我以下错误: “值类型'OwnerModel'不能具有递归包含它的存储属性” 有没有办法在ownerFriends下重用OwnerModel?这不行,因为结构是值类型。所以每个OwnerModel里面都必须有一个OwnerModel,里面必须有一个OwnerModel,里面必须有一个OwnerModel。。。。这永远无法解决
有没有办法在ownerFriends下重用OwnerModel?这不行,因为结构是值类型。所以每个OwnerModel里面都必须有一个OwnerModel,里面必须有一个OwnerModel,里面必须有一个OwnerModel。。。。这永远无法解决。既然您已经标记了这个可编码项,请尝试编写您希望将其编码到的JSON 这就是说,
ownerFriends
似乎是复数形式,这意味着[OwnerModel]
,这不是问题,因为您可能没有:
struct OwnerModel: Codable {
...
var ownerFriends: [OwnerModel]
}
但是,请再次记住,结构是值类型。所以每个OwnerModel只是一个值。它不是对任何其他对象的引用。如果要引用其他所有者,可能需要存储ID而不是实际对象(或使用类来创建引用)。这是
Codable
的问题,请参阅最近的一篇文章
struct OwnerModel: Codable {
...
var ownerFriends: [OwnerModel]
}