让我们使用它作为示例类:
class Animate{ func moveVIEw(...){ ... }}
所以我相信如果我有一个类func,我就不必实例化这个类了.
Animate.moveVIEw(…)
如果我只用func声明函数,它将是:
动画().moveVIEw(…)
但是,如果我不将文件声明为类,则:
func moveVIEw(...){ ...}
当我调用该函数时它只是:
moveVIEw(...)
没有指示代码来自何处,它可以在项目的任何地方使用.
这三种方式的优点和缺点是什么?是不是宣布一个不好的做法?或者,是否有一些边缘情况,这是非常有用的?例如,在我的情况下,我不需要类,因为我只是创建辅助函数而不是对象.
提前感谢您对此有任何见解!
好.实例方法与类方法与全局方法.(术语方法和函数是可互换的.方法意味着由对象实现的函数,因此我更倾向于将术语方法更改为术语函数.)
实例方法是由类的实例执行的方法.您必须具有要与之对话的类的实例才能调用实例方法.
实例方法可以访问它们所属对象的实例变量,因此该对象可以在调用之间保存状态信息. (在网络类中,您可以创建多个下载对象,每个下载对象管理来自不同URL的不同文件的单个文件下载,并且每个下载对象可能具有在下载完成时通知的不同委托)
类方法由类本身调用,而不是由实例调用.这可以使调用辅助函数变得简单,而无需管理对象来为您完成这项工作.由于类方法不与类的实例通信,因此它们无法为每个对象保留不同的状态信息.例如,您可能有一个在字符串上执行本地化函数的实用程序类.本地化过程是独立的.你调用一个类函数并传入一个字符串和你希望它本地化的语言,它会把你的结果交给你.无需在呼叫之间保持状态.这样的电话可能看起来像
let frenchString = LocalizationUtils.localizeString("English String",tolanguage: "french")
全局函数不属于任何特定类.它们是定义它们的整个模块的全局模块.它们类似于类函数,除了它们不是特定于特定类.
总结以上是内存溢出为你收集整理的swift – 使用类func vs func vs no class声明的好处全部内容,希望文章能够帮你解决swift – 使用类func vs func vs no class声明的好处所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)