-1
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var swipeLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
swipeLabel.text = "0"
let leftSwipe = UISwipeGestureRecognizer(target: self, action: #selector (ViewController.swipeReceive(sender:)))
let rightSwipe = UISwipeGestureRecognizer(target: self, action: #selector(ViewController.swipeReceive(sender:)))
leftSwipe.direction = .left
rightSwipe.direction = .right
view.addGestureRecognizer(leftSwipe)
view.addGestureRecognizer(rightSwipe)
let disPlaynumon = swipeReceive(sender: UISwipeGestureRecognizer) // Error here
swipeLabel.text = disPlaynumon
}
func swipeReceive(sender:UISwipeGestureRecognizer) -> String
{
if(sender.direction == .left)
{
var disPlaynum = 0
disPlaynum = disPlaynum-1
return String(disPlaynum)
}
if(sender.direction == .right)
{
var disPlaynum = 0
disPlaynum = disPlaynum+1
return String(disPlaynum)
}
return String("not right or left swiped")
}
}
的错误是上线的功能时获取迅速错误调用返回字符串
无法将类型的价值“UISwipeGestureRecognizer.Type 'to expected argument type'UISwipeGestureRecognizer'
这个程序应该让你ser向右滑动,然后标签显示加1,当向左时显示减1,但当我调用swipeReceive函数尝试获取将显示在标签上的字符串时,我得到错误。
当'sender.direction'没有左或右时,它不知道该返回什么。你也应该赶上返回这种情况。 – Lawliet
我如何赶上返回? –
只需在最后一条if语句之后添加一个返回String(“”)来捕获其他所有内容。 –