【发布时间】:2023-03-31 20:42:01
【问题描述】:
我尝试在 tableview 中加载数组项详细信息。在 tableview 中,我列出了标签数组。并在导航栏上放置了两个按钮,分别是Next和previous
当用户点击 next 时,它将替换 tableview 中的数组标签值,或者如果用户点击 previous,它将替换 tableview 中的数组标签值。
为了从 json 获取数据,我使用的是 SwiftyJson。这是我的 json 响应值:
"results": [
{
"PoDocNo": "4500022400",
"Item": "00010",
"Material": "RMECC_MOB1",
"StorageLocation": "3001",
"MatGroup": "00107",
"Quantity": "2.000",
"OrderUnit": "KG",
"NetPrice": "1000.000",
"UnitofPrice": "1.000",
"ItemCat": "0",
"Requistor": ""
},
{
"PoDocNo": "4500022400",
"Item": "00020",
"Material": "RMECC_MOB1",
"StorageLocation": "3001",
"MatGroup": "00107",
"Quantity": "2.000",
"OrderUnit": "KG",
"NetPrice": "1000.000",
"UnitofPrice": "1.000",
"ItemCat": "0",
"Requistor": ""
}
]
这是我的模型:
import Foundation
import SwiftyJSON
class PoVendorModel {
var Material: String?
var Description: String?
var FixedVendor: String?
var VendorName: String?
var PurchOrg: String?
var PurchGroup : String?
var valuationPrice : String?
var Qty: String?
var UoM:String?
var totalValue: String?
var DeliveryDate: String?
var MatGrp: String?
var Plant: String?
var StorageLocation: String?
var ReqTrack: String?
var AAC: String?
var ItemCategory: String?
var GLAccount: String?
var CostCenter: String?
var Order: String?
var WBS: String?
var ProfitCenter: String?
var lineNo: String?
init(json: JSON) {
Material = json["Material"].stringValue
Qty = json["Quantity"].stringValue
UoM = json["OrderUnit"].stringValue
totalValue = json["NetPrice"].stringValue
AAC = json["shrtText"].stringValue
StorageLocation = json["StorageLocation"].stringValue
MatGrp = json["MatGroup"].stringValue
valuationPrice = json["NetPrice"].stringValue
ItemCategory = json["ItemCat"].stringValue
lineNo = json["Item"].stringValue
}
func getProperty(at index: Int) -> String {
switch index {
case 0:
return self.Material ?? ""
case 1:
return self.Description ?? ""
case 2:
return self.FixedVendor ?? ""
case 3:
return self.VendorName ?? ""
case 4:
return self.PurchOrg ?? ""
case 5:
return self.PurchGroup ?? ""
case 6:
return self.Qty ?? ""
case 7:
return self.valuationPrice ?? ""
case 8:
return self.totalValue ?? ""
case 9:
return self.DeliveryDate ?? ""
case 10:
return self.MatGrp ?? ""
case 11:
return self.Plant ?? ""
case 12:
return self.StorageLocation ?? ""
case 13:
return self.ReqTrack ?? ""
case 14:
return self.AAC ?? ""
case 15:
return self.ItemCategory ?? ""
case 16:
return self.GLAccount ?? ""
case 17:
return self.CostCenter ?? ""
case 18:
return self.Order ?? ""
case 19:
return self.WBS ?? ""
case 20:
return self.ProfitCenter ?? ""
case 21:
return self.UoM ?? ""
default:
return "Error"
}
}
}
当我点击表格视图标签值中的下一个按钮时,如何替换值数组?
【问题讨论】:
-
考虑使用
Codable——它将帮助您摆脱所有这些可选属性,并且不再需要提供默认值(例如return self.PurchGroup ?? "")。 -
1.更新数据源中的值,2. 在您的
UITableView上调用reloadData()
标签: ios arrays json swift uitableview