微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

What is the difference between static func and class func in Swift?

Special Kinds of Methods

 

Methods associated with a type rather than an instance of a type must be marked with the static declaration modifier for enumerations and structures,or with either the static or class declaration modifier for classes. A class type method marked with the class declaration modifier can be overridden by a subclass implementation; a class type method marked with static can’t be overridden.

 

Variable Declaration

A variable declaration introduces a variable named value into your program and is declared using the var keyword.

Variable declarations have several forms that declare different kinds of named,mutable values,including stored and computed variables and properties,stored variable and property observers,and static variable properties. 

 

 

Type Variable Properties

To declare a type variable property,mark the declaration with the static declaration modifier. Classes may mark type computed properties with the class declaration modifier instead to allow subclasses to override the superclass’s implementation. Type properties are discussed in Type Properties.

In a class declaration,the static keyword has the same effect as marking the declaration with both the class and final declaration modifiers.

 

Protocol Method Declaration

To declare a class or static method requirement in a protocol declaration,mark the method declaration with the static declaration modifier. Classes that implement this method declare the method with the class modifier. Structures that implement it must declare the method with the static declaration modifier instead. If you’re implementing the method in an extension,use the class modifier if you’re extending a class and the static modifier if you’re extending a structure

 

https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#//apple_ref/doc/uid/TP40014097-CH34-ID483

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐