objective c - studio - Swift: ¿Prefijo de clase necesario?
visual studio installer (2)
¿Debo darle a mis nombres de clase de Swift un prefijo de tres letras como lo recomiendan las Convenciones de Objective-C: los nombres de clase deben ser únicos en toda la aplicación ?
No, no necesitas los prefijos de clase en Swift , porque las clases tienen un espacio de nombre en el módulo en el que viven.
Si necesita desambiguar entre (por ejemplo) una Array
de Swift y una clase / estructura de Array
que haya declarado en su aplicación, puede hacerlo tipeando como Swift.Array
o como MyProject.Array
. Eso funciona con extensiones también:
extension Swift.Array {
...
}
extension MyProject.Array {
...
}
No, el prefijo definitivamente no es necesario.
Supongamos que su aplicación tiene MyApp
nombre de MyApp
y necesita declarar su UICollectionViewController
personalizado.
No es necesario que prefijas y subclases de esta manera:
class MAUICollectionViewController: UICollectionViewController {}
Hazlo asi:
class UICollectionViewController {} //no error "invalid redeclaration o..."
¿Por qué? . Porque lo que has declarado está declarado en el módulo actual , que es tu objetivo actual . Y UICollectionViewController
de UIKit
se declara en el módulo UIKit
.
¿Cómo usarlo dentro del módulo actual?
var customController = UICollectionViewController() //your custom class
var uikitController = UIKit.UICollectionViewController() //class from UIKit
¿Cómo distinguirlos de otro módulo?
var customController = MyApp.UICollectionViewController() //your custom class
var uikitController = UIKit.UICollectionViewController() //class from UIKit