作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个表格 View ,里面装满了水果、蔬菜和肉类。当我使用 UIPickerView 更改类别时,我在这一点上遇到了问题,我以前保存在数组中的数据被删除了。
我不知道如何处理这个问题。我将如何保存我之前的类别数据以及用户更改类别时的数据?
下面是我正在处理的一些代码。
CellForRowAt
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "adddiseasefoodcell", for: indexPath) as! AddDiseaseTableViewCell
print(indexPath.row)
cell.foodname.text = foodname[indexPath.row]
cell.foodimg.image = imagereturn(urrl: foodimage[indexPath.row])
cell.unitlbl.text = foodunit[indexPath.row]
cell.callbl.text = foodcal[indexPath.row]
cell.switchFood.tag = indexPath.row
cell.switchFood.isUserInteractionEnabled = false
print(check[indexPath.row]!)
// check[indexPath.row] = false
if check[indexPath.row]!
{
cell.switchFood.isOn = true
}
else
{
cell.switchFood.isOn = false
}
cell.switchFood.addTarget(self, action: #selector(buttonClicked(Sender:)), for: UIControlEvents.touchUpInside)
return cell
}
保存按钮代码
func buttonClicked(Sender:UIButton)
{
print(Sender.tag)
let index = NSIndexPath(row: Sender.tag,section:0)
let cell = foodnametableview.cellForRow(at:index as IndexPath) as! AddDiseaseTableViewCell
if check[Sender.tag]!
{
// cell.switchFood.isUserInteractionEnabled = true
cell.switchFood.isOn = false
check[Sender.tag] = false
}
else
{
// cell.switchFood.isUserInteractionEnabled = true
cell.switchFood.isOn = true
check[Sender.tag] = true
}
}
最佳答案
您需要为每个类别创建不同的数组。而且你必须这样做:
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if selectedCategory == .meat {
return meatArray.count
}
// same for other Catgories
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
//Create cell and other configurations
if selectedCategory == .meat {
let selectedFood = meatArray(indexPath.row)
//use selectedFood object to get values and use it in the cell
}
return cell!
}
关于ios - 如何在Pickerview中保存不同类别的tableviewCell的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43951051/
我有 json 数据: { "products": [ { "productId" : 0, "productImg" : "../img/product-ph
我是一名优秀的程序员,十分优秀!