美文网首页Swift工作笔记
Swift—属性—readOnly

Swift—属性—readOnly

作者: Windv587 | 来源:发表于2016-11-29 18:14 被阅读323次

*存储属性*

* 具备存储功能,和OC中普通属性一样

*  属性观察器

* 属性观察器监控和响应属性值的变化,每次属性被设置值的时候都会

* 用属性观察器

* 类似于OC中的setter

* 可以为除了延迟存储属性之外的其他存储属性添加属性观察器

* willSet

* 在新的值被设置之前调用

* willSet观察器会将新的属性值作为常量参数传入

* 传入的参数默认名称newValue

* didSet

* 在新的值被设置之后立即调用

* didSet观察器会将旧的属性值作为参数传入

* 传入参数默认参数名oldValue

* 注意:如果在一个属性的didSet观察器里为它赋值,这个值会替换之前设置的值

var title:String? {

didSet{

''      title = name! + "欢迎回来"

''    }

}

*计算属性*

* 计算属性不具备存储功能

* 相当于OC中的readOnly(不完全是)

* 最常见的计算属性:

> * 只有get没有set(只读计算属性)

> * 重写了set但没有给自身赋值也是计算属性

* 注意:

* 必须使用var关键字定义计算属性,包括只读计算属性,因为它们的值不是固定的。let关键字只用来声明常量属性,表示初始化后再也无法修改的值

var age:Int{

''    // 如果只重写了get,没有set. 那么属性是一个"计算型"属性

''    get{

''        return 30

''    }

'' }

'' // 如果只有get可以简写为

'' var gender:String{

''    return "lnj"

'' }

*存储属性和实例变量*

* Objective-C 为类实例存储值和引用提供两种方法。除了属性之外,还可以使用实例变量作为属性值的后端存储

* Swift 编程语言中把这些理论统一用属性来实现, 这就避免了不同场景下访问方式的困扰

* Swift 中的属性没有对应的实例变量,属性的后端存储也无法直接访问

var \_name:String?

var name:String?{

'' get{

''        return _name

''    }

''  set{

''        _name = newValue

''    }

}

相关文章

  • Swift—属性—readOnly

    *存储属性* * 具备存储功能,和OC中普通属性一样 * 属性观察器 * 属性观察器监控和响应属性值的变化,每次属...

  • HTML Input 属性

    value 属性 value属性规定输入字段的初始值 实例 readonly 属性 readonly属性规定输入字...

  • Swift如何优雅的的设置只读(readOnly)属性

    OC中常用到的属性修饰词readOnly,在swift中显然已经不存在了,有人说变成了计算属性,如下: 然而,会出...

  • HTML 输入属性

    1、value value 属性规定输入字段的初始值。 2、readonly readonly 属性规定输入字段为...

  • OC中使用readonly并不一定是安全的

    作用 readonly修饰的属性,只能读取值,不能修改值。原因:readonly修饰的属性只生成了getter方法...

  • iOS readonly 属性赋值小记

    readonly 关键字用于属性的存取控制 ,如果不使用readonly ,编译器默认属性关键字为 readwri...

  • SDK中的readonly&readwrite

    readonly 关键字用于属性的存取控制 ,如果不使用readonly ,编译器默认属性关键字为 readwri...

  • php8.2新特性

    添加了readonly 类修饰符,这个类的所有属性都会变成readonly。 添加了交集类型 动态属性被废弃,现在...

  • objc非主流代码技巧

    链接objc非主流代码技巧[objc]readonly属性支持扩展的写法 假如一个类有一个readonly属性: ...

  • swift中的只读属性实现,很简单

    原文地址readonly properties in Swift Turns out just like in O...

网友评论

    本文标题:Swift—属性—readOnly

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