【问题标题】:displays values of array in ForEach Swift UI在 ForEach Swift UI 中显示数组的值
【发布时间】:2021-05-28 03:29:43
【问题描述】:

我正在使用 SwiftUI,我想简单地以文本形式显示数组值。

这是我的代码:

    ForEach(0..<returnCont().count) {
       Text("\(returnCont()[$0]),")
    }

我也试过这个:

    ForEach(returnCont().indices) {
        Text("\(return()[index]),")
    }

其中 returnCont() 是一个返回数组的函数。

数组显示已初始化的元素,但当数组为空然后通过用户输入追加时,它仅在终端中显示值,而不是在视图上的文本表单中显示。

也不显示错误,只是空文本。

【问题讨论】:

    标签: ios arrays swift foreach swiftui


    【解决方案1】:

    试试下面的方法-:

    import SwiftUI
    
    
    class Model:ObservableObject{
        var dataArray = ["1","2","3"]
        func returnCont() -> Int{
            return dataArray.count
        }
    }
    struct myView:View{
        @ObservedObject var model = Model()
        var body: some View{
            ForEach(0..<model.returnCont()) { index in
                Text("\(model.dataArray[index]),")
               }
        }
    }
    

    我不知道你的模型类是什么样子的,所以这只是一个演示,给你正确的想法。

    【讨论】:

    • 谢谢。这是否仅适用于 ObservableObject 或 NSObjects?
    • @mikey1091 如果模型仅用于读取数据,是的,您也可以使用 NSObjects,但是如果您希望在更改模型时进行视图更新,则需要实现 ObservableObject 协议。
    • 感谢您的帮助,但它不起作用。我没有收到任何错误,这是一个好兆头,但我的数组没有出现。
    • @mikey1091 请编辑您的帖子并显示可重现的代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-28
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多