我有
class CartViewController: UIViewController,UITableViewDataSource,UITableViewDelegate
和
class CartTableViewCell: UITableViewCell
如何从CartViewController
文件
CartTableViewCell
class CartTableViewCell: UITableViewCell {
@IBAction func buttonDeleteAction(_ sender: UIButton) {
let url = "http://aaaaaa/cart/"+label.text!+"/del"
let headers: HTTPHeaders = ["Accept":"application/json","Authorization":"Bearer "+token!]
Alamofire.request(url, method: .get, headers: headers).responseJSON { response in
switch response.result {
case .success(let value):
let json = JSON(value)
print("delete json ",json)
let success = json["success"].boolValue
print(success)
if success == true{
//UPDATE CARTVIEWCONTROLLER
}
case .failure(let error):
print(error)
}
}
}
我在互联网上寻找类似的问题,但我找不到合适的解释
答案 0 :(得分:1)
您需要协议
protocol ReloadManager {
func callReload(cell:CartTableViewCell)
}
//
class CartViewController: UIViewController,UITableViewDataSource,UITableViewDelegate,ReloadManager {
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier:"id") as! CartTableViewCell
cell.delegate = self
}
func callReload(cell:CartTableViewCell) {
cartsTableView.reloadData()
// use cell if you want to get indexpath to remove item from the table
}
}
//
class CartTableViewCell: UITableViewCell {
var delegate:ReloadManager?
func btnClicked(_ sender:UIButton){
delegate?.callReload(cell:self)
}
}