美文网首页
Swift 属性基本使用

Swift 属性基本使用

作者: craig_wang | 来源:发表于2017-08-17 19:31 被阅读5次

存储属性

  • <类 枚举 结构体> 的常量或变量(有具体存储空间)
// 一般形式
let name = "panda"
var eat: String
var live: String = "chengdu" {
    willSet {
    }
    didSet {
    }
}
// 懒加载
 lazy var obj = NSObject()
 lazy var objfun: NSObject = { // 这里实现很像计算属性,但尾随闭包返回了一个 有存储空间的对象,对于该对象是存储属性
       let obj = NSObject()
       return obj
 }()

计算属性

  • <类 枚举 结构体> 属性函数(无存储空间)
// 如下 可以实现只读属性(get值恒不变,set值无效)
var name: String  { // name是两个函数(set get)
    get {
        return "panda" 
    }
    set {
       print(newValue)
    }
}
var name: String  { // get only 
    return "panda"
}
// 但将set get作用在一个存储属性上,就成了属性的快速get set方法了

// 子类重写父类属性
// father
var name: String = "dog"
// child
override var name: String {
       set {}
        get {
            return "cat"
        }
}

类属性

  • <类 枚举 结构体> 有初始值的存储属性 static修饰(很像全局)
    // 存储属性 (一定要有初始值, 因为没办法在初始化时赋值) 
    //  (延迟初始化,多线程也只会创建一次<用于单列实现>)
    static var name: String = "dog" 

全局和局部 变常量

域: <函数,结构(类 结构体 枚举)> 外 -> 全局, 内 -> 局部

存储属性

  • 全局变常量都是延迟加载(不使用lazy)
  • 局部变常量想延迟加载需要使用lazy修饰

计算属性

  • 使用没有区别

相关文章

  • Swift 属性基本使用

    存储属性 <类 枚举 结构体> 的常量或变量(有具体存储空间) 计算属性 <类 枚举 结构体> 属性函数(无存...

  • Swift属性使用

    Swift属性使用 一在uitableviewcell中使用情况 (OC中属性与swift使用的区别,get、se...

  • Swift基本语法之类的使用

    Swift中类的使用 Swift基本语法之初体验-常量变量-数据类型 Swift基本语法之逻辑分支 Swift基本...

  • swift -- 基础(5)数组

    swift数组的基本使用

  • Swift学习1.0

    swift基本数据类型简介及基本使用

  • RxSwift 使用详解

    Swift - RxSwift的使用详解1(基本介绍、安装配置) Swift - RxSwift的使用详解2(响应...

  • Swift3.0中private该方法应用fileprivate

    当在使用Swift3.0 extension时private无法被访问 Swift3.0中private属性作用域...

  • 计算属性

    Swift中类可以使用计算属性,即使用get和set来间接获取/改变其他属性的值

  • 最新swift 4.0 更新总结

    1. Swift4.0中对于扩展的属性(包括实例属性、static属性、class属性),都只能使用get方法,不...

  • Swift 基本使用

    Swift:苹果在2014年推出的面向对象开发的语言,用来撰写OS X 和 iOS 应用程序的强类型语言,顺带提一...

网友评论

      本文标题:Swift 属性基本使用

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