好。实例方法vs类方法vs全局方法。
(术语“方法”和“功能”是可互换的。“方法”表示由对象实现的功能,因此,我倾向于将术语“方法”比术语“功能”更喜欢。)
实例方法是由类的实例执行的方法。您必须具有要与之交谈的该类的实例才能调用实例方法。
实例方法可以访问它们所属对象的实例变量,因此该对象可以保存两次调用之间的状态信息。(在网络课程中,您可以创建多个下载对象,每个下载对象管理来自不同URL的不同文件的单个文件下载,并且每个对象可能都有不同的委托,当下载完成时会通知该委托)
类方法由类本身而不是实例调用。这可以使调用辅助函数变得简单,而无需管理对象即可为您完成该工作。由于类方法不与该类的实例通信,因此它们无法为每个对象保留不同的状态信息。例如,您可能有一个实用程序类,该类对字符串执行本地化功能。本地化过程是独立的。您调用一个类函数,并传入一个字符串和您要使其本地化的语言,然后将结果交给您。无需在调用之间保持状态。这样的通话可能看起来像
let frenchString = LocalizationUtils.localizeString("English String", toLanguage: "French")全局函数不属于任何特定的类。它们对于定义它们的整个模块是全局的。它们与类函数相似,除了它们不特定于特定类。



