SwiftUI中如何修改ObservableObject内数组的指定索引元素值
这是一个同主题的高赞参考内容,但它没有解决我的问题,因为我们的数组查询逻辑存在差异。
假设我定义了如下数组结构:
final class SomeClass: ObservableObject { @Published var myArray = ["cat","dog","mouse"] func changeValueFor(index: Int, to newName: String) { // 暂未编写实现逻辑,可参考下方我原本计划使用的方法截图 } }
我需要在视图层访问上述类的属性并完成数组元素的修改,视图结构如下:
struct MyView: View { @ObservedObject var vm: SomeClass index: Int var body: some View { Text(vm.myArray[index]) Button("Change Name To") {vm.changeValueFor(index: index, to: "goat" } } }
常规SwiftUI视图中访问数组并展示内容的场景,通常是直接从ForEach这类迭代器获取Int类型的索引传入逻辑,但当前场景不适用该模式,我不清楚该如何实现。
我原本计划使用截图所示的方法,但发现该方法已被弃用,无法满足需求:

以上描述尽量清晰说明我的问题,若仍有歧义可随时补充说明,期待获得适配当前场景的数组指定索引元素修改的实现方案。
内容的提问来源于stack exchange,提问作者Sergio Bost
相关产品推荐
相关产品推荐

