我正在学习最近几天的iOS编程,所以我是这个技术的新手。我正在构建一个简单的应用程序,我在其中使用了包含EventCell的集合视图。每个EventCell都有一个UIButton,EventCell有uniq值(来自JOSN API响应的ID)。我需要传递该值来委托调用新的ViewController。我已经设置了正确工作的委托方法,只是找到了如何在按钮点击上传递值的解决方案
PS:我没有使用故事板
>>> A = "A00000XY"
>>> print increment(A)
"A00000XY"
>>> print increment(A)
"A00001XY"
>>> print increment(A)
"A00002XY"
...
>>> print increment(A)
"A00009XY"
>>> print increment(A)
"A0000AXY"
>>> print increment(A)
"A0000BXY"
...
>>> print increment(A)
"A0000YXY"
>>> print increment(A)
"A0000ZXY"
>>> print increment(A)
"A00010XY"
>>> print increment(A)
"A00011XY"
...
>>> print increment(A)
"ZZZZZZXY"
答案 0 :(得分:0)
如果您需要将该ID值传递给委托对象(例如您的ViewController
),那么您需要修改clickOnLeaderboard
协议中的HomeControllerDelegate
函数。
修改它并将您的EventCell ID作为附加参数传递给它。
delegate?.clickOnLeaderBoard(cellID)
另外,不要忘记在视图控制器类中更新函数签名。
答案 1 :(得分:0)
cell.yourButton.tag = indexPath.row
cell.yourButton.addTarget(self, action: #selector(buttonClicked(sender:)), for: .touchUpInside)
重载
添加:
buttonClicked(sender:)
你的UIViewController应该有buttonClicked(sender:){
tag = sender.tag
// you can use this tag to change your view controller
}
。
RealmController.with()
答案 2 :(得分:-1)
更改您的功能以包含参数:
func handleLeaderBoardClick(_ sender: UIButton) {
// need to get uniq value and pass here....
delegate?.clickOnLeaderBoard()
}
更新选择器:
leaderboardBtn.addTarget(self, action: #selector(handleLeaderBoardClick(_:)), for: .touchUpInside)
现在,您可以在sender
和leaderboardButton
之间进行比较,看看它们是否相同。