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.m
untuk tipe Objective-C seperti yang dibahas dalam panduan Objective-C . Tetapi contoh Swift tidak memiliki nama kategori, dan memanggilnya String.swift
sepertinya tidak tepat.
Jadi pertanyaannya adalah: mengingat String
ekstensi di atas , apa yang harus disebut file sumber cepat?
ClassName+ExtensionName
format, 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 FooAbleTypes
dan 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.