我正在进行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中。谁能指出我在哪里出错或是否需要任何进一步的信息。
您只分配了一个memberBenefitsView
,并且一直在更新。将保留分配的最终值。