美文网首页
Swift----属性

Swift----属性

作者: 彬至睢阳 | 来源:发表于2018-05-18 21:09 被阅读0次

讲到属性传值,不能不再对比复习一下属性,在Swift中属性有多种,1.存储属性:它作为类实例的一部分,用于存储常量和变量; 可以给存储属性提供一个默认值,也可以在初始化中个对其进行初始化。如:

// 定义存储属性 var age : Int = 0 var name : String? // “?”符号,表示name为可选类型,初始化值为nil

类属性

定义:static var courseCount : Int = 0

// 通过类名访问类属性Student.courseCount = 2

还有计算属性

// 定义计算属性:通过别的方式计算到结果的属性称之为计算属性 var avgScore : Double {

        return (mathScore + chineseScore) * 0.5    }

 属性监视器

1. 如果是计算属性,直接在set方法中监听即可,类似于objective-c中的kvo方式监听属性。

2. 如果是存储属性,我们需要使用willSet和didSet进行监视。

如:class Square {  

var width: Double = 0.0 {  

        willSet{  

println("New Value:\(newValue), Current Value:\(width)")  

        }  

        didSet{  

println("Old Value:\(oldValue), Current Value:\(width)")  

        }  

    }  

}  

属性重写

可以将一个继承来的只读属性重写为一个读写属性。

class Animal {  

var speed: Int {  

        get {  

return 100  

        }  

    }  

}  

class Dog: Animal {  

override var speed: Int {  

        get {  

return 300  

        }  

        set {  

        }  

    }  

}  

不可以将一个继承来的读写属性重写为一个只读属性存储属性的重写(最终属性的值是存储在父类中的)

相关文章

  • Swift----属性

    讲到属性传值,不能不再对比复习一下属性,在Swift中属性有多种,1.存储属性:它作为类实例的一部分,用于存储常量...

  • Swift----类型属性

    类型属性 实例属性属于一个特定类型的实例,每创建一个实例,实例都拥有属于自己的一套属性值,实例之间的属性相互独立。...

  • Swift----声明

    在Objective-C中,通过使用指针来处理对象引用,指针可以为空,在Objective-C中称为nil。在Sw...

  • Swift----枚举

    OC中的枚举: typedefNS_ENUM(NSInteger, UITableViewCellStyle) {...

  • swift----懒加载

    以下三种格式,都不会报错,可是,在编写代码时会有一些问题 1 2 3 1和2的差别在于,1使用UIImageVie...

  • Swift----闭包

    闭包是自包含的函数代码块,可以在代码中被传递和使用. 闭包可以捕获和存储其所在上下文中任意常量和变量的引...

  • swift----内存管理

    内存管理不管是在ObjectC 还是swift上,在开发过程中都是我们需要关注的一个重点。刚好学习到,做此笔记 1...

  • swift----学习心得三

    可选类型 可选类型是swift的一个特色。他表示一个变量有可能有值,也可能没有值(nil).声明的方式是“数据类型...

  • Swift----使用Alamofire调用WebService

    用于拼接地址的常量直接上代码,这块代码是封装在NetAddressFile.swift类中 以下代码是NetWor...

  • Swift----使用Alamofire 调用WebServic

    自己稍微对请求头和请求体进行封装了下,代码如下: import UIKit import Alamofire ty...

网友评论

      本文标题:Swift----属性

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