Swift 3 初学入坑记

这两天在摸索swift,什么swift书都没看,直接翻译以前的oc项目,准备翻译个大部分功能之后再回过头去看书。先记录几个初学遇到的坑。

  • Swift3.0给view添加tap手势遇到的坑 @objc

在init方法里给自定义view添加手势,这个都懂,套路。
代码先上为敬

let tap:UITapGestureRecognizer = UITapGestureRecognizer.init(target: self, action:#selector(tap(sender:)));
self.addGestureRecognizer(tap);
    private func tap(sender:UITapGestureRecognizer)
    {
        _delegate?.areaSelectViewDidClicked!(self);
    }

然而编译就不能通过,编译器当头喝棒,看着大概是要加@objc


解决方法:

  1. @selector不要用了,那是OC的风格,替换成#selector
  2. private修饰的监听方法前面请加上@objc,但是如果不是private修饰的方法不用加
    @objc private func tap(sender:UITapGestureRecognizer)
    {
        _delegate?.areaSelectViewDidClicked!(self);
    }

搞定。。。 expect the next bug

  • 构造方法的代码补全

举个栗子:你输入CGRect(),编译器不会提示任何构造方法,只能默默的去用CGRect.init(....)去享受代码补全。
解决方法:输入CGrect( 接着按下esc键,代码提示就蹦出来了。

你可能感兴趣的:(Swift 3 初学入坑记)