Swift 实例方法&类型方法(九)

Swift 实例方法&类型方法(九),第1张

概述iOS交流群: 498143780 一起学习 override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. let counter = Counter()

iOS交流群: 498143780 一起学习

overrIDe func vIEwDIDLoad() {        super.vIEwDIDLoad()        // Do any additional setup after loading the vIEw,typically from a nib.        let counter = Counter()        counter.reset()        print(counter.count) // 0        counter.incrementBy(5)        print(counter.count) // 5        counter.increment()        print(counter.count) //        let counter1 = Counter1()        counter1.incrementBy(5,numberOfTimes: 10)        print(counter1.count) // 50        let point = Point()        print(point.isToRightOfX(1)) //         print(point.x)    }
// 'Counter'类定义了三个個实例方法    class Counter {        var count = 0        func incrementBy(amount: Int){            count += amount // count + amount        }        func reset(){            count = 0 // 重置 count = 0        }        func increment(){            self.count++        }    }
// 稍微复杂一点的    class Counter1 {        var count: Int = 0        func incrementBy(amount: Int,numberOfTimes: Int){            count += amount * numberOfTimes        }    }
// 下面的例子中,`self`消除方法参数`x`和实例属性`x`之间的歧义    struct Point {        var x = 0.0,y = 0.0        func isToRightOfX(x: Double) -> Bool{            print(x)           // 1.0            return self.x >= x // self.x = 0 x = 上边赋值1        }    }

/// 第一:struct没有继承的功能,而class是可以继承的,这是面向对象语言的核心能力,class当然会有这个能力。

/// 第二: 体现在内存使用上,struct是通过值传递,而class是通过引用传递的,举个简单的例子window对象一定会选择设计成class的实例,而不应该是struct的,通常我们一定不想在设备中拷贝出多个window对象来,对么?
解释来自:
http://blog.objcc.com/swift-struct-class/

总结

以上是内存溢出为你收集整理的Swift 实例方法&类型方法(九)全部内容,希望文章能够帮你解决Swift 实例方法&类型方法(九)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1078147.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存