gpt4 book ai didi

arrays - 如何在 iOS Swift 中将值数组附加到 tableView 中?

转载 作者:行者123 更新时间:2023-11-28 05:38:11 27 4
gpt4 key购买 nike

TableView 由动态标签列表组成,导航栏由两个称为向上和向下的按钮组成。

我在这里从 json 获取数据并附加到模型。但我无法在 tableview 中列出。数组值应加载到标签列表中。

这是我附加到模型的 json:

   [PO_PR.poItemsModel(Material: Optional("RMECC_MOB1"), Qty: Optional("2.000"), UoM: Optional("KG"), totalValue: Optional("1000.000"), Requistor: Optional(""), StorageLocation: Optional("3001"), MatGrp: Optional("00107"), valuationPrice: Optional("1000.000"), ItemCategory: Optional("0"), lineNo: Optional("00010"), UnitofPrice: Optional("1.000")),

PO_PR.poItemsModel(Material: Optional("RMECC_MOB1"), Qty: Optional("2.000"), UoM: Optional("KG"), totalValue: Optional("1000.000"), Requistor: Optional(""), StorageLocation: Optional("3001"), MatGrp: Optional("00107"), valuationPrice: Optional("1000.000"), ItemCategory: Optional("0"), lineNo: Optional("00020"), UnitofPrice: Optional("1.000"))]

最初应将第一个索引的数组加载到标签列表中,然后在按下按钮时应将数组值的下一个加载到标签列表中。

tableview 中的标签将在每个单元格中,而不是在单个单元格中。

这是我的模型:

struct poItemsModel {

var Material : String?
var Qty : String?
var UoM : String?
var totalValue : String?
var Requistor : String?
var StorageLocation: String?
var MatGrp : String?
var valuationPrice : String?
var ItemCategory : String?
var lineNo : String?
var UnitofPrice : String?

init(json: JSON) {

Material = json["Material"].stringValue
Qty = json["Quantity"].stringValue
UoM = json["OrderUnit"].stringValue
totalValue = json["NetPrice"].stringValue
Requistor = json["Requistor"].stringValue
StorageLocation = json["StorageLocation"].stringValue
MatGrp = json["MatGroup"].stringValue
valuationPrice = json["NetPrice"].stringValue
ItemCategory = json["ItemCat"].stringValue
lineNo = json["Item"].stringValue
UnitofPrice = json["UnitofPrice"].stringValue

}
}

这里我将 json 数据应用到模型中:

    func GetPoItemCount() {

if orderNo != nil {
// Call API
print("orderni::\(orderNo!)")
PoVendorListApiManager.sharedInstance.getPoListWithModel(orderString: orderNo!){ (json:JSON) in
// return json from API
if let results = json["d"]["results"].array {
print("catefory::\(results)")


for category in results {

self.PoItemsArray.append(poItemsModel(json: category))

for (key, value) in category {
print("keyvalue\(key)\(value)")

self.poItemJsonArray.append(value)
self.poItemKeyArray.append(key)
let currency = newPrItemDetailModel(key: key, value: value)
self.newItemDetailsArray.append(currency)

}

}

let elm = self.PoItemsArray
let mirror = Mirror(reflecting: elm)
for child in mirror.children {
print("key: \(String(describing: child.label)), value: \(child.value)")
}

print("self.PoItemsArray array:::\(self.PoItemsArray)")
print("new model array:::\(self.newItemDetailsArray)")

DispatchQueue.main.async {
self.tableView.reloadData()

}
}
}
}
}

}//extension

这是我的表格 View 代码:

      func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

// PoItems = loadPoItems()
print("count::itemArray::\(self.PoItemsArray.count)")
return PoItemsArray.count

}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

let cell = tableView.dequeueReusableCell(withIdentifier: "Cell") as! PoItemTableViewCell

let itemDetails = PoItemsArray[indexPath.row]
// for arrayData in

// PoItems = loadPoItems()

// prItem.getProperty(at: indexPath.row)

// cell.materials.text = PoItemsArray[0].key!
// cell.materialsValue.text = itemDetails[indexPath.row]



return cell

}

这是我试图实现的屏幕截图:enter image description here

如何将第一个索引数组加载到动态标签列表中,以及当按下按钮时如何将值的下一个数组索引加载到动态标签列表中。

非常感谢任何帮助....

最佳答案

这不能(实际上)用 TableView 来完成。 TableView 用于不能更改的相同项的长列表(可变编号)。你这里有一个固定数量(9)的完全不同项目,它们会改变

答案一:

不要为此使用 TableView 。这不是 TableView 的用途。

只需为您的布局使用 StackView - 这非常简单,并且仍然可以滚动等。

完成。这将需要 2 分钟。


答案2:

如果作为练习你想使用 TableView ,那将是错误的:

做“同步/动态”表是非常困难的。

  1. 必须有一个自定义单元类

  2. 按钮(在主屏幕上)必须以某种方式向所有单元格发出信号 em> 做出有问题的改变。

这是一个广泛的研究领域,您必须研究实现这一目标的各种方法。

关于arrays - 如何在 iOS Swift 中将值数组附加到 tableView 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57912768/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com