仅在堆栈视图中显示最后存储的数据

问题描述 投票:0回答:1

我正在进行API调用,该API返回要在屏幕上显示的一组键值对。我正在使用xib文件并将键值对添加到它。显示屏上仅显示最后一个键值对。这是使用MVVM架构完成的。

@IBOutlet var currentBenefitsStackView: UIStackView!

func populateMemberBenefits(_ data: ResponseData) {
        let nib = UINib(nibName: "StackView", bundle: Bundle.SampleAccount)
        if let memberBenefitsView = nib.instantiate(withOwner: nil, options: nil).first as? StackView {
             guard let memberBenefitsPerks = data.benifts else {return} //data.benifts contains the key value pairs
            for benefits in memberBenefitsPerks {
                memberBenefitsView.labelText?.text = benefits.value
                let imageURL = URL(string: "\(SampleURL)")
                let image = try? Data(contentsOf: imageURL!)
                memberBenefitsView.imageView.image = UIImage(data: image!)
                currentBenefitsStackView.addArrangedSubview(memberBenefitsView)
            }

[仅最后一个memberBenefitsView图像显示在currentBenefitsStackView中。谁能指出我在哪里出错或是否需要任何进一步的信息。

ios xcode uistackview swift5
1个回答
1
投票

您只分配了一个memberBenefitsView,并且一直在更新。将保留分配的最终值。

© www.soinside.com 2019 - 2024. All rights reserved.