![](/img/trans.png)
[英]how to navigate or show other view controller when indexPath cell pressed
[英]Show other array in next view controller depending on button pressed in previous
我花了几个小时来完成这项工作,但我试图根据在上一个视图中按下的按钮在视图控制器中显示一个数组。 所以我想使用相同的视图控制器但具有不同的数据。
在视图控制器中:
@IBAction func firstDeck(_ sender: UIButton) {
var dataSource : CardsDataModel? {
didSet {
label.text = cardsDeck.FirstDate()
}
}
}
@IBAction func secondDeck(_ sender: UIButton) {
var dataSource : CardsDataModel? {
didSet {
label.text = cardsDeck.PizzaFriends()
}
}
}
所以有两个 cardDecks:PizzaFriends 和 FirstDates。 我尝试从按钮中使用 IBAction 来显示相关的 cardDeck 但没有成功。 卡片是空的。
在NextViewController 中声明一个 String 类型变量的数组
var someData = [String]()
在NextViewController 的viewDidLoad()
方法中添加这个
print("Some Data: \(someData)")
在 IBAction 方法中的PreviousViewController中,根据按下的按钮,使用分配someText
变量来呈现/推送NextViewController
@IBAction func firstDeck(_ sender: UIButton) {
let vc = NextViewController()
vc.someData = cardsDeck.FirstDate()
// If you want to present NextViewController
present(vc, animated: true, completion: nil)
// If you want to push NextViewController to navigation stack
//navigationController?.pushViewController(vc, animated: true)
}
@IBAction func secondDeck(_ sender: UIButton) {
let vc = NextViewController()
vc.someData = cardsDeck.PizzaFriends()
// If you want to present NextViewController
present(vc, animated: true, completion: nil)
// If you want to push NextViewController to navigation stack
//navigationController?.pushViewController(vc, animated: true)
}
这是一个示例NextViewController
class NextViewController: UIViewController {
var someData = [String]()
var cardView = SwipeCardView(frame: CGRect(x: 10, y: 150, width: 300, height: 600))
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = .white
self.view.addSubview(cardView)
cardView.label.text = "\(someData)"
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.