Swift 中的实例方法

英文好的看这里 ==>Swift 柯里化
嘿嘿,利用Swift的特性

class 银行账户{
    var 总金额: Double = 0.0
    func 存钱(金额:Double){
        总金额 += 金额
    }
    func 余额() {
        print(总金额)
    }
}

这样就声明了一个名为银行账户的类,这个类有两个函数,分别为存钱输出余额

随后,我们弄出一个银行账户的实例。

var 账户实例 = 银行账户()
账户实例.存钱(100)
账户实例.余额()

playground中可以实时看到执行结果,如下图

Code 1

到这一步,一切都很顺利。
然后

var depositor = 银行账户.存钱
depositor(账户实例)(100)

账户实例.余额()

执行结果如下 :

Code 2

发现了么,这两段是等价的。

在后一段中,我们给变量depositor赋值的是一个函数,就像C语言中的指向函数的指针类似的意思。Swift中的实例的方法==类的方法,并且这个方法以实例作为参数,并且将函数返回,这个函数还能应用在该实例上。

所以

银行账户.存钱(账户实例)(100)

这个就不难理解了。执行结果就是给账户实例再存100

Code 3
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,194评论 4 61
  • “有意思的男生,烂文,破文,臭屁文……挺押韵的……”欧阳佑婕开心地笑着,一边读一边品味。 “一会儿得好好会会这个男...
    东南萌阅读 3,579评论 2 4
  • 这个迫及急待要出名的世界,有个人就像一股清泉,不紧不慢,坚守自己的信念,做最真的自己。而,他,也是我心间的清泉.....
    丑妹电影阅读 3,372评论 0 0
  • 每天坚持写我的积极宣言,很希望通过自己的努力,能够一天天坚持,一天天改变,虽然有时候会有一些小懒,不过我相信我每天...
    fe634f14caac阅读 2,900评论 0 0
  • 幼禾望蹉跎,人情凉却道寞。 春景是否情薄? 瑞雪早凌陌,冬去若何? 黄草叹萧瑟,夏至勃勃。 风雨花未落,秋桂香娑。
    ToyIHere阅读 1,618评论 0 1