美文网首页
Swift3.0 技巧知识点杂集

Swift3.0 技巧知识点杂集

作者: 浮桥小麦 | 来源:发表于2016-10-28 16:36 被阅读75次
    前言:废话没有,直接上干货,持续更新。。。
    查看目录
    1.颜色技巧
    2.Xcode8新增注释
    3.??的用法
    4.if let / var 连用(可选绑定)
    5.OC方法解决循环引用
    6.重写和重载
    7.stroyboard中使用静态cell
    8.注释快捷键
    9.加载HTML5方法优劣(简单)解析
    
    // : MARK — NO.1 颜色技巧
    Snip20161028_9.png
    // : MARK — NO.2 Xcode8新增注释:
    // TODO :XXXX
    // FIXME :XXXX
    
    // : MARK — NO.3 ??的用法
    func demo ( ) {
      let name: String? = “tmac”
     print( ( name ?? “” ) + “你好" )
    //解释一下:由于这个name是可选类型,所以不能和字符串类型”你好”直接拼接,但我们又不能去强制解包name,万一name是nil程序就会崩掉。
    所以我们用??,就是说当name有值的时候就用name,没有值就用??后面的代替
    }
    
    // : MARK — NO.4 if let / var 连用(可选绑定)
    #if let 连用,判断对象的值是否为nil,{}内一定有值,可以直接使用,不需要解包
    # if var 连用,{}内可以对值进行修改
    func demo ( ) {
     let str1 : String? = “kobe”
     let str2 : String? = “tmac”
    if let name1 = str1 , 
      let name2 = str2 {
    //能来到{}中就说明name1和name2已经有值了,不需要强制解包 
    print(name1 + name2)
    }
    
    }
    
    
    
    // : MARK — NO.5 OC方法解决循环引用
    #OC
    weak var weakSelf = self
    
    #Swift — 在{}中加上 [weak self ] in 表示在{}中的所有 self 都是弱引用
    
    // : MARK — NO.6 重写和重载
    #重写:是父类有此方法,而不能满足子类,在此方法上重写
    override init()
    #重载:函数名相同,但是参数和个数不同,重载可以给自己的属性从外部设置初始值
    init(name:String)
    #注:如果重载了构造函数,且没有实现父类 init 方法,系统不再提供init()构造函数,必须要重写父类的才有:
    override init()
     {
        super.init()
     }
    
    // : MARK — NO.7 stroyboard中使用静态cell
    #只有在storyboard中可以使用静态cell布局,其次当使用了静态cell布局后,一定删掉tableViewController 创建时自带的数据源方法
    
    // : MARK — NO.8 注释快捷键
    
    command + option + / : 以前一个常用注释插件,在Xcode8中进行了整合
    
    // : MARK — NO.9 加载HTML5方法优劣(简单)解析
    #1. UIWebView 内存消耗大/内存泄露 iOS 7.0以前使用
    
    #2. WKWebView 开源的,解决了UIWebView的内存问题
    
    #3. SFSafariViewController iOS 9.0以后使用
    
    // : MARK — NO.8
    // : MARK — NO.8
    // : MARK — NO.8
    // : MARK — NO.8

    相关文章

      网友评论

          本文标题:Swift3.0 技巧知识点杂集

          本文链接:https://www.haomeiwen.com/subject/vljeuttx.html