func numberOfSections(in tableView: UITableView) -> Int {
if carts.count > 0 {
self.tableView.backgroundView = nil
self.tableView.separatorStyle = .singleLine
return 1
}
let rect = CGRect(x: 0,
y: 0,
width: self.tableView.bounds.size.width,
height: self.tableView.bounds.size.height)
let noDataLabel: UILabel = UILabel(frame: rect)
noDataLabel.text = "nothing, the table is empty"
noDataLabel.textColor = UIColor.white
noDataLabel.textAlignment = NSTextAlignment.center
self.tableView.backgroundView = noDataLabel
self.tableView.separatorStyle = .none
self.total.isHidden = true
self.proceedbtn.isHidden = true
self.totalLab.isHidden = true
return 1
}
上面的代碼會在tableView爲空時隱藏對象。但是,當我添加物品(它應該是一個購物車)total
proceedbtn
和totalLab
仍然隱藏!當UITableView爲空時隱藏UIButtons
有沒有辦法重新加載表並檢查它是否爲空?
注意:
我的細胞可以滑動,我可以通過滑動刪除細胞。
func deleteMail(_ path:IndexPath) {
guard carts.count > path.row else {
print("Index out of range")
return
}
let entry = carts[path.row]
deletItem(id: entry.meal_id)// call api to delete items
carts.remove(at: (path as NSIndexPath).row);
tableView.deleteRows(at: [path], with: .left);
print("delete")
}
UPDATE
override func viewDidLoad() {
super.viewDidLoad()
if carts.isEmpty == true {
proceedbtn.isHidden = true
} else {
if carts.isEmpty == false {
if proceedbtn.isHidden == true {
proceedbtn.isHidden = false
}
}
}
獲取數據:
func getData() {
Alamofire.request(url!, method: .post, parameters: param,encoding: URLEncoding.default, headers: headers).responseJSON { response in
if let value: AnyObject = response.result.value as AnyObject? {
// get data
self.price = subJson["price"].stringValue
self.qty = subJson["qty"].stringValue
let id = subJson["id"].stringValue
self.id = id
self.name = subJson["meal"]["name"].stringValue
let info = Cart(meal_id: self.id, qty: self.qty, meal_name: self.name, price: self.price)
self.carts.append(info)
}
}
self.tableView.reloadData()
}
}
的計數可能你顯示/告訴我們您用來添加項目的代碼? –
檢查更新的問題請 – leo0019