Dil belirtiminde açıklandığı gibi, uzantıları kullanarak mevcut Swift nesne türlerine uzantılar eklemek mümkündür .
Sonuç olarak, aşağıdakiler gibi uzantılar oluşturmak mümkündür:
extension String {
var utf8data:NSData {
return self.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)!
}
}
Ancak, bu tür uzantıları içeren Swift kaynak dosyaları için en iyi adlandırma uygulaması nedir?
Geçmişte, kural Objective-C kılavuzundaextendedtype+categoryname.m
tartışıldığı gibi Objective-C tipi için kullanmaktı . Ancak Swift örneğinin kategori adı yok ve onu çağırmak uygun görünmüyor.String.swift
Yani soru şudur: yukarıdaki String
uzantı göz önüne alındığında , hızlı kaynak dosyaya ne denir?
ClassName+ExtensionName
formatı takip eden ve hala çok fazla insanın görmediğini gördüğüm Objective-C kategorileri . Ayrıca, sadece sınıfları ve uzantıları birlikte tanımlamak yerine veya dosyaya FooAbleTypes
toplu olarak örnekleri daha iyi bir ad vermek ve tanımlamak yerine bu kadar karmaşık buluyorum .
Extensions.swift
. Bu şekilde, bunların izini kaybetmezsiniz ve kod tabanına yeni gelenler hemen fark eder. Ve bir kerelik uzantıları ihtiyaç duydukları dosyaya özel tutmayı tercih ederim.