Cuando creo una función en Swift, ¿puedo usar las palabras "obtener" y "establecer"? Por ejemplo, ¿puedo declarar una función como func getAuthorizedUsers() en lugar de func authorizedUsers() ? En ObjectiveC, no se sugiere usar las palabras clave get y set al declarar funciones. ¿Qué tal en Swift?
Además, al declarar propiedades, ¿puedo usar la palabra clave "es"? Por ejemplo:
public var isAuthorized: Bool { get { return true } }He leído los documentos de la convención de nomenclatura de Swift, pero no pude encontrar la respuesta a mi pregunta. Gracias.
Todas las reglas se describen aquí .
Para get , eso claramente viola la regla "Omitir palabras innecesarias". Si un método devuelve algo, el sitio de la llamada sabrá que se usa para obtener algún valor. No es necesario que repitas esa idea. Puede considerar convertir esto en una propiedad calculada si no se requieren parámetros.
Para set , podría ser apropiado a veces. Si su método solo necesita un parámetro y hay un captador correspondiente,
func getFoo() -> Int { ... } func setFoo(_ foo: Int) { ... }Esa es una buena señal de que esto se puede convertir en una propiedad calculada:
var foo: Int { get { ... } set { ... } } Un buen ejemplo donde es apropiado tener set es el método UIButton.setTitle . Toma dos parámetros, por lo que una propiedad calculada no funcionaría.
Para is , eso claramente se ajusta a la regla "Los usos de métodos y propiedades booleanos deben leerse como afirmaciones sobre el receptor". Entonces sí, deberías usarlo para miembros booleanos.