【发布时间】:2020-02-20 06:45:29
【问题描述】:
我有两个类,一个是显示来自我的数据源的信息的 ContentView。数据源是我的 CharacterRepository。
我现在正在努力确保我的 CharacterRepository 中始终有一个排序列表。
这是我目前的代码:
class CharacterRepository: ObservableObject {
@Published public var characters = [Character(name: "Nott the Brave",
initiative: 23,
isActive: false),
Character(name: "Caduceus Clay",
initiative: 2,
isActive: false),
...]
...
}
和
struct InitiativeTrackerScreen: View {
@EnvironmentObject var characterRepository: CharacterRepository
var body: some View {
NavigationView {
VStack {
List {
ForEach(characterRepository.characters) { entry in
CharacterListElement(character: entry)
}
...
现在我的预期方法是将字符变量转换为计算属性,该属性在每次执行 get 时运行“排序依据”函数。不幸的是,在 SwiftUI 中还不能绑定到计算属性(不确定,会不会?)。
有人可以帮我解决这个问题吗?我不想每次发生变化时都回到旧的排序和重绘方法。这不是我使用带有 ist sweet 绑定的 SwiftUI 的原因。
【问题讨论】:
标签: ios swift data-binding swiftui