第一次单击按钮时,按钮的标题将从“添加到购物车”更改为“前往购物车”。并且从下一次单击按钮将导航到下一个屏幕(购物车页面)[就像 Flipkart 一样]。
这是我的一段代码:
@IBAction func addToCartbtnTapped(_ sender: Any) {
if let info = detailInfo {
let cartData = CartStruct(cartItems: info, cartQuantity: 1)
self.saveCart(data: cartData)
showAlert()
(sender as AnyObject).setTitle("Go to Cart", for: .normal)
let cart = self.storyboard?.instantiateViewController(withIdentifier: "CartViewController") as? CartViewController
self.navigationController?.pushViewController(cart!, animated: true)
}
}
我可以更改按钮的标题。但是,每当我第 n 次单击该按钮时,产品就会被添加到购物车中,屏幕无法导航。
如何解决这个问题?
更新..
override func viewDidLoad() {
super.viewDidLoad()
UserDefaults.standard.string(forKey: "btn")
}
@IBAction func addToCartbtnTapped(_ sender: Any) {
if !Clicked {
if let info = detailInfo {
let cartData = CartStruct(cartItems: info, cartQuantity: 1)
self.saveCart(data: cartData)
showAlert()
addingTOCart.setTitle("Go to Cart", for: .normal)
UserDefaults.standard.set("Go to Cart", forKey: "btn")
print("Clicked")
Clicked = true
return
}
}
if Clicked {
print("Perform Action")
let cart = self.storyboard?.instantiateViewController(withIdentifier: "CartViewController") as? CartViewController
self.navigationController?.pushViewController(cart!, animated: true)
}
}
这就是我试图存储“转到购物车”状态的方式。但不工作..请建议!