Dimungkinkan untuk menambahkan ekstensi ke jenis objek Swift yang ada menggunakan ekstensi, seperti yang dijelaskan dalam spesifikasi bahasa .
Akibatnya, dimungkinkan untuk membuat ekstensi seperti:
extension String {
var utf8data:NSData {
return self.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)!
}
}
Namun, apa praktik penamaan terbaik untuk file sumber Swift yang berisi ekstensi tersebut?
Di masa lalu, konvensi digunakan extendedtype+categoryname.muntuk tipe Objective-C seperti yang dibahas dalam panduan Objective-C . Tetapi contoh Swift tidak memiliki nama kategori, dan memanggilnya String.swiftsepertinya tidak tepat.
Jadi pertanyaannya adalah: mengingat Stringekstensi di atas , apa yang harus disebut file sumber cepat?
ClassName+ExtensionNameformat, dan yang saya tidak melihat terlalu banyak orang masih menggunakan. Selain itu, saya menemukan bahwa kikuk sebagai pengganti hanya mendefinisikan kelas dan ekstensi bersama, atau memberikan nama file yang lebih baik FooAbleTypesdan mendefinisikan contoh dalam agregat.
Extensions.swift. Dengan begitu, Anda tidak akan kehilangan jejak mereka dan pendatang baru ke basis kode akan segera menyadarinya. Dan saya lebih suka menyimpan ekstensi satu kali untuk file yang mereka perlukan.