¿Es Swift Pass By Value o Pass By Reference?

Soy realmente nuevo en Swift y acabo de leer que las clases se pasan por referencia y que se copian las matrices / cadenas, etc. ¿Es el paso por referencia de la misma manera que en Objective-C o Java en el que realmente pasa "una" referencia o es el paso correcto por