Swift 3转换"没有会员"错误

时间:2016-09-21 21:52:24

标签: ios xcode error-handling swift3

我正在尝试将我的项目转换为Swift 3,并且已经处理了大部分错误,但是我在调​​用手势识别器时遇到了问题。这是我的代码:

func addGestureToView(toView: UIView) {
    let gesutereUp = Init(UISwipeGestureRecognizer(target: self, action: #selector(DemoViewController.swipeHandler(_:)))) {
      $0.direction = .Up
    }

    let gesutereDown = Init(UISwipeGestureRecognizer(target: self, action: #selector(DemoViewController.swipeHandler(_:)))) {
      $0.direction = .Down
    }
    toView.addGestureRecognizer(gesutereUp)
    toView.addGestureRecognizer(gesutereDown)
  }

  func swipeHandler(sender: UISwipeGestureRecognizer) {
    let indexPath = NSIndexPath(forRow: currentIndex, inSection: 0)
    guard let cell  = collectionView?.cellForItemAtIndexPath(indexPath) as? DemoCollectionViewCell else { return }

它给我和错误说明gestureUp和gestureDown都有"没有成员' swipeHandler'"

同样在行"让indexPath ..."我收到错误说"参数标签'(forRow,in section:)'不匹配任何可用的重载"

有人可以帮助解决Swift 3的转换问题吗?当我评论这些线条时,一切正常,所以这是最后一块。提前谢谢。

1 个答案:

答案 0 :(得分:1)

替换选择器中标签sender的下划线。

#selector(DemoViewController.swipeHandler(sender:))

关于索引路径,swift3中的新方法是:

NSIndexPath(row: currentIndex, section: 0)