设为首页 加入收藏

TOP

窥探Swift之别具一格的Struct和Class(二)
2017-10-10 12:17:40 】 浏览:9206
Tags:窥探 Swift 别具一格 Struct Class
) lazy属性point会在MyCycle实例对象在使用point属性时才会对其进行初始化,下方是myCycle实例变量调用point属性的代码片段,这时就明确的看到point是不为nil的。如下所示:

 

 

    4. 计算属性(Count Property)

    计算属性这一个特性在Objective-C中也是没有的。什么是计算属性呢,一句话概括:计算属性的值可以由其他属性的值来计算得到,同时在给计算属性赋值时也可以用来计算其他属性的值。也许说起来比较拗口,理解起来也许回有些困难,那么接下来来个小实例即可明白计算属性是怎么回事了。

    下方我们创建一个名为Money的类,在Money类中有两个属性,一个是存储属性(普通属性)名为CNY(代表着人民币), 另一个是名为USD的计算属性(代表美元)。在USD计算属性的set方法中由USD的值计算CNY的值,在USD计算属性的get方法中由CNY计算出USD的值,并返回。Money类的具体代码片段如下所示:

 

    计算属性在使用时和存储属性没有什么区别,下方是Money实例来调用其存储属性和计算属性的代码段,已经结果输出如下所示。下方代码段虽然简单,但是你慢慢的去品还是很有味道的。先看第一部分,也就是第一次给USD赋值,当给USD赋值时,CNY的之会立即被计算出来。 而当我们给CNY赋值时,USD的值不会被立即计算出来,因为只有在使用USD时才会调用get方法,这时候才会根据CNY的值来计算USD的值。具体结果请看下方代码段: 

 

    

    5. 属性观察

      属性观察是用来干嘛的呢?说白了,属性观测器就是来观察属性的赋值情况的,属性观测器包括willSet()和didSet , willSet在属性将要被赋值的时候被调用, didSet是在属性被赋值后调用,关于这两个属性观察函数,写个实例就一目了然了。由下方实例可知,在willSet调用时,property属性的值还为默认值,但是在didSet执行时,property的值已经成为被赋予的值了。

 

    6. 实例方法与类方法

      在Objc中,类方法是由+来修饰的,实例方法是由-号来修饰的。在Swift的方法中就没有+或者-号进行修饰了,但是Swift中声明方法时,多了一个class。普通方法没有什么特别之处,而类方法的声明和定义需要在关键字func前添加class关键字。下方MyTestClass中定义了一个实例方法和一个类方法,并且给出了调用方式,如下所示:

 

 

    今天博客的内容就先到这儿,下篇博客会涉及一些类的继承和类中的方法和属性的访问权限等其他一些关于类的东西。

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇关于swift 底部工具栏图标锯齿模.. 下一篇swift-计算字符串长度

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目