É possível adicionar extensões aos tipos de objetos Swift existentes usando extensões, conforme descrito na especificação do idioma .
Como resultado, é possível criar extensões como:
extension String {
var utf8data:NSData {
return self.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)!
}
}
No entanto, qual é a melhor prática de nomeação para arquivos de origem Swift que contêm essas extensões?
No passado, a convenção era extendedtype+categoryname.m
para o tipo Objective-C, conforme discutido no guia Objective-C . Mas o exemplo Swift não tem um nome de categoria, e chamá-lo String.swift
não parece apropriado.
Portanto, a pergunta é: dada a String
extensão acima , como deve ser chamado o arquivo de origem rápido?
ClassName+ExtensionName
formato e que não vejo muitas pessoas ainda usando. Além disso, acho isso desajeitado em vez de apenas definir classes e extensões em conjunto, ou dar ao arquivo um nome melhor FooAbleTypes
e definir instâncias de forma agregada.
Extensions.swift
. Dessa forma, você não os perderá e os recém-chegados à base de código os notarão imediatamente. E eu preferiria manter one-off extensões privadas para o arquivo eles são necessários no.