美文网首页
Swift_修饰符(final、override、discard

Swift_修饰符(final、override、discard

作者: love紫川 | 来源:发表于2018-01-22 22:40 被阅读230次

    final

    //5防止重写  
    class finalClass{  
          
        final var applePen = 1  
        final func test(){  
              
        }  
          
        final class func test2(){  
              
        }  
          
    }  
      
    class finalSub: finalClass {  
          
        //无法重写基类 定义了 final 的属性和函数  
    }  
    
    //加到class前,无法被继承  
    final class unDo{  
          
    }  
    
    

    @discardableResult

    @discardableResult //取消如果不使用返回值的警告  
        class func unUseReuslt(d x:Int) -> Bool {  
    

    mutating

    /实例化的时候,实参是不可改变,如果确实需要改的话加 mutating  
        mutating func changeby(justA:Int,justB:Int) {  
    

    convenience便利构造器

    //3 指定构造器 和 便利构造器  
    class Food {  
        var name: String  
        init(name: String) {  
            self.name = name  
        }  
        //便利构造器  
        convenience init() {  
            self.init(name: "[Unnamed]")  
        }  
      
    }  
    

    lazy懒加载(Object-C的懒加载是当使用时才去开辟空间,set get方法)
    Swift 懒加载相当于静态空间,只运行一次....只打印一次 a = 1

    lazy var a:Int = {  
              
            print("a = 1")  
            return 1  
        }()  
    var ja:Jason? = Jason(name:"Jason") //Jason 实例化  
            var aa = ja?.a  
            var aaa = ja?.a  
            var aa2 = ja?.a  
    

    //inout相当于C++的引用

    func typeFunc(xx x:inout Int, yy y:inout Int) {  
            let value = x  
            x = y  
            y = value 
        }  
    

    相关文章

      网友评论

          本文标题:Swift_修饰符(final、override、discard

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