【问题标题】:Swift 2 errors with slider滑块的 Swift 2 错误
【发布时间】:2018-07-01 01:25:29
【问题描述】:

我在 Xcode 版本 9.2 (9C40b) 中使用 swift 时遇到了这些错误

  1. 二元运算符“*”不能应用于“IndexPath”和“Float”类型的操作数
  2. 对成员“tableView(_:numberOfRowsInSection:)”的不明确引用
@IBOutlet weak var slider: UISlider!

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 50
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    let cell = UITableViewCell(style: UITableViewCellStyle.default, reuseIdentifier: "Cell")
    cell.textLabel?.text = String(indexPath * slider.value)
    return cell
}

@IBAction func sliderValueChange(_ sender: Any) {
    tableView.reloadData()
}

【问题讨论】:

  • 更改这一行:cell.textLabel?.text = String(indexPath.row * Int(slider.value))
  • 感谢您的帮助,第一个错误现已修复。第二个错误仍然存​​在:对成员 'tableView(_:numberOfRowsInSection:)' 的模糊引用我该如何解决?
  • 那绝对不是 Swift 2 ????
  • 不,它的swift 4。我想说有2个错误,而不是它是swift 2 ????
  • 我知道,这个话题模棱两可。

标签: swift swift2 uislider xcode9.2


【解决方案1】:

试试这个:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    let cell = UITableViewCell(style: UITableViewCellStyle.default, reuseIdentifier: "Cell")
    cell.textLabel?.text = String(slider.value * Float(indexPath.row))
    return cell

}

【讨论】:

  • 感谢回复,第一个错误已经修复,但第二个错误仍然存​​在。对成员 'tableView(:numberOfRowsInSection:)' 的模糊引用我认为这是关于这段代码:@IBAction func sliderValueChange( sender: Any) { tableView.reloadData() }
  • 删除插座并再次为您的表格视图设置插座
  • 如何展示我是如何创建网点的?我删除了插座并再次创建它们,但仍然是错误。
  • 谢谢,不需要为表格视图创建出口。但是如果你想使用 reload data 函数而不是它需要的。现在两个错误都已修复
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-11
  • 2012-08-11
  • 2015-04-09
相关资源
最近更新 更多