美文网首页
swift常用属性

swift常用属性

作者: AA君主 | 来源:发表于2016-04-06 13:20 被阅读172次

类型属性

使用的时候直接用类名去调用,只能取值,不能赋值。类型属性可以当做类里面的一个静态参数,相当于OC中的static

class var name:NSString{return ""}
 print(BB_ImageLabelView.name)//类型属性要使用类名调用

观察属性

观察 给属性赋值的状态。属性中可设置 willSet、didSet 来观察属性的设置
公式:【注意willSet didSet,Set首字母一定要大写】
var 变量名:数据类型?{
willSet{检测属性的状态}
didSet{检测属性的状态}
}

//    属性有可能被赋值成nil,所以系统提示 需要init->声明成可选类型
    var age:Int?{
        willSet{
        print("将要赋值")}
        didSet{
            print("已经赋值")}
    }
F67B3E9F-24F8-4AD4-9763-0F48E8A6AAEB.png
 init(frame: CGRect) {
        super.init(frame: frame)
        age = 20//OC属性是通过定义一个全局变量,_变量名 让传过来的参数给他赋值       

swift中不存在给一个临时的全局变量赋值,所以不可以使用_age=20

实例属性

是在类里面声明的变量,使用对象来调用。
公式:var 变量名:属性类型?

var label:UILabel?//声明label属性

懒加载

即懒惰属性,在使用的时候创建

lazy var list :NSArray = ["1","2"]//可以赋值
lazy var list1:NSArray = NSArray()//也可以不赋值

计算属性

计算属性是在属性中重写setter、getter方法
公式:
var 变量名:类型{
get{
//自由发挥
return XXX
}
set{
//自由发挥
}
}

//计算属性
    var mmm:Int{
        get{return 1+self.mmm}
        set{self.mmm *= 200}
    }

相关文章

  • 浅谈 Swift 中的属性(Property)

    Properties in Swift 前言 Swift 中的属性分为存储属性与计算属性,存储属性即为我们平时常用...

  • Swift 学习笔记(三)

    Swift属性 Swift属性将值跟特定的类,结构体,枚举关联。分为存储属性和计算属性,通常用于特定类型的实例。属...

  • swift常用属性

    类型属性 使用的时候直接用类名去调用,只能取值,不能赋值。类型属性可以当做类里面的一个静态参数,相当于OC中的st...

  • 浅谈 Swift 中的属性(Property)

    前言 Swift 中的属性分为存储属性与计算属性,存储属性即为我们平时常用的属性,可以直接赋值使用,而计算属性不直...

  • 浅谈 Swift 中的属性(Property)

    前言 Swift 中的属性分为存储属性与计算属性,存储属性即为我们平时常用的属性,可以直接赋值使用,而计算属性不直...

  • (Swift) UITableView常用属性

    Cell单元格上设置分隔符样式(默认单分割线)// 隐藏,在UITableView实例中,设置为"none"UIT...

  • (Swift) UITextField常用属性

    控制文本小部件的键盘自动更正行为// 禁用,在UITextField实例中,设置为".no"UITextAutoc...

  • (Swift) UITabBarController常用属性

    一个布尔值,用于指明 'tab' 选项卡栏是否半透明// 默认为"true",建议设置为"false"self.t...

  • (Swift)UIImageView常用属性

    一)用于描述 'ImageView' 视图如何布局其内容 保持纵横比,来缩放图片以适应视图大小(不变形) 缩放内容...

  • Swift - UIView + Extension

    在OC中我们通过类目Category做UIView属性宽展,方便我们获取常用属性,(x、y、宽、高等)在Swift...

网友评论

      本文标题:swift常用属性

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