作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 UITableViewController 连接到一个 UIViewController。我制作了一个全局 counter
来跟踪 UITableView 中的哪一行被选中。因为根据选择的行,呈现的 UIViewController 中的一些信息会发生变化。
我认为可以对其进行整理,这样 dayx
segue 只需调用一次并且 counter
可以根据选择的行相应地更改?但我无法弄明白。
这就是我目前拥有的,它可以工作但看起来很乱?:
//what happens when row is selected
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if indexPath.row == 0 {
counter = 0
self.performSegue(withIdentifier: "dayx", sender: self)
} else if indexPath.row == 1 {
counter = 1
self.performSegue(withIdentifier: "dayx", sender: self)
}
else if indexPath.row == 2 {
counter = 2
self.performSegue(withIdentifier: "dayx", sender: self)
}
else if indexPath.row == 3 {
counter = 3
self.performSegue(withIdentifier: "dayx", sender: self)
}
else if indexPath.row == 4 {
counter = 4
self.performSegue(withIdentifier: "dayx", sender: self)
}
else if indexPath.row == 5 {
counter = 5
self.performSegue(withIdentifier: "dayx", sender: self)
}
else if indexPath.row == 6 {
counter = 6
self.performSegue(withIdentifier: "dayx", sender: self)
}
}
最佳答案
使用flatMap
:
swift 4.0
indexPath.flatMap {
print($0)
counter = $0
self.performSegue(withIdentifier: "dayx", sender: self)
}
后来:
let _ = indexPath.compactMap {
counter = $0
self.performSegue(withIdentifier: "dayx", sender: self)
}
了解 flatMap
的基础知识。阅读本文 Replacing flatMap With compactMap
如果您的所有行都旨在执行 performSegue
。简单:
//what happens when row is selected
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
counter = indexPath.row
self.performSegue(withIdentifier: "dayx", sender: self)
}
关于swift - 试图找出一种使用单个 UITableview 的不那么笨拙的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54943006/
如果这是一个非常普遍的问题和/或我遗漏了一些非常明显的问题,我很抱歉。我的目标是让我的背景在整个屏幕上拉伸(stretch),同时仍然与页面的其余部分一起滚动。我现在的代码实现了这一点,但并非没有严重
我是一名优秀的程序员,十分优秀!