关于oop:Swift中静态函数和非静态函数有什么区别?

Whats a difference between static function and non Static in Swift?

我有一个模型,在这个模型中包含一个求和1+1的函数为什么我必须使这个函数非静态?

区别是不是唯一的可实例化类?

调用控制器中的静态函数

1
Model.sumFunction()

在控制器中调用非静态函数

1
2
let model = Model()
model.sumFunction

真正的区别是什么?


区别在于模型类的SubClass可以覆盖non static函数,无论是class还是instance。但SubClass不能覆盖static功能。

这背后的原因是static得到了一次性的内存分配,并一直保留在内存中,直到类保留在内存中!