我有模型,并在此模型中包含一个函数SUM 1 + 1 为什么我必须使此功能非静态?Swift中静态函数和非静态之间有什么区别?
区别是唯一可实例化的类吗?
调用静态函数在控制器
Model.sumFunction()
调用非静态函数在控制器
let model = Model()
model.sumFunction
什么是真正的区别?
我有模型,并在此模型中包含一个函数SUM 1 + 1 为什么我必须使此功能非静态?Swift中静态函数和非静态之间有什么区别?
区别是唯一可实例化的类吗?
调用静态函数在控制器
Model.sumFunction()
调用非静态函数在控制器
let model = Model()
model.sumFunction
什么是真正的区别?
区别在于,您的型号类的可以覆盖non static
函数,无论是class
还是instance
。但无法覆盖static
函数。
而这背后的原因是static
得到一次内存分配,并保留在内存中,直到类仍在内存中!
什么是使用每种类型函数的好习惯? –
取决于需要。通常我们不使用静态函数。如果我们需要不需要分配内存的东西,那么无论什么原因,我们都应该使用静态。例如,我们通常在'cellforrowatindexpath'方法中声明'静态标识符',因为becoz标识符总是相同的,并且这个方法调用太多时间,所以使它静态更好! – Lion
谢谢!但是如果我在静态课堂上做所有事情,未来会有什么问题? –
http://stackoverflow.com/questions/29636633/static-vs-class-functions-variables-in-swift-classes – boidkan