为什么当我使用@Model宏时我的数组的顺序是随机的。
class TestModel {
var name: String?
var array: \[TestModel2\]
init(name: String = "") {
self.name = name
array = []
}
}
class TestModel2 {
var name: String?
init(name: String = "") {
self.name = name
}
}
这工作正常,
array
中的所有项目都按照我添加的顺序排列。
但是如果我将它们都声明为
@Model
,就像这样:
@Model
class TestModel {
var name: String?
var array: \[TestModel2\]
init(name: String = "") {
self.name = name
array = []
}
}
@Model
class TestModel2 {
var name: String?
init(name: String = "") {
self.name = name
}
}
array
项目始终按随机顺序排列。当我重新加载显示它们的视图或将项目添加到数组时,顺序是随机的。
此行为也可以在示例代码此处中看到。 将遗愿清单项目添加到行程时,这些项目始终以随机顺序显示。
这是测试版错误吗?还是有意为之?
我只是想插话并说我也有同样的问题。就像其他人在评论中所说的那样,我必须向我的 SwiftData 模型添加一个时间戳并按该时间戳进行排序。一定是bug什么的。