Metode kelas (atau statis) di Objective-C diselesaikan dengan menggunakan +
deklarasi.
@interface MyClass : NSObject
+ (void)aClassMethod;
- (void)anInstanceMethod;
@end
Bagaimana ini bisa dicapai di Swift?
Mereka disebut sifat jenis dan metode jenis dan Anda menggunakan class
atau static
kata kunci.
class Foo {
var name: String? // instance property
static var all = [Foo]() // static type property
class var comp: Int { // computed type property
return 42
}
class func alert() { // type method
print("There are \(all.count) foos")
}
}
Foo.alert() // There are 0 foos
let f = Foo()
Foo.all.append(f)
Foo.alert() // There are 1 foos
class
kata kunci sebelum fungsi atau properti tipe yang dihitung.Mereka disebut properti tipe dan metode tipe di Swift dan Anda menggunakan kata kunci kelas.
Mendeklarasikan metode kelas atau metode Jenis dengan cepat:
Mengakses metode itu:
atau Anda dapat merujuk Metode dengan cepat
sumber
Tambahkan deklarasi dengan
class
if itu kelas, atau denganstatic
if itu struktur.sumber
func
kata kunci di sini?Swift 1.1 tidak memiliki properti kelas yang disimpan. Anda bisa mengimplementasikannya menggunakan properti kelas penutupan yang mengambil objek terkait yang terikat ke objek kelas. (Hanya berfungsi di kelas yang diturunkan dari NSObject.)
sumber
Tambahkan deklarasi dengan class atau static jika merupakan fungsi, atau dengan static jika merupakan properti.
sumber