Cette section a été relue et corrigée, elle prend maintenant en compte les modifications apportées avec Swift 2.

Le type String dans Swift est un type de valeur. Si vous créez une nouvelle valeur String, cette valeur est copiée quand elle est passée à une fonction ou une méthode, ou quand elle est assignée à une constante ou une variable. Dans chaque cas, une nouvelle copie de la valeur est créée, et la nouvelle copie est passée ou assignée, mais pas la version originale. Les types de valeurs sont décrites dans Structure et Enumérateur, types de valeurs.

Note : Ce comportement diffère de celui de NSString dans Cocoa. Quand vous créez une instance NSString dans Cocoa, et la passez dans une fonction, une méthode ou une variable, vous assignez toujours une référence au même NSString. Aucune copie de la chaîne ne prend sa place, à moins que vous ne l’ayez spécifiquement demandé.

Dans Swift, le comportement des chaînes de caractères est toujours strictement respecté. Lorsque vous envoyez une valeur de type String à une fonction ou une méthode, c’est strictement la valeur que vous avez entré qui est utilisée et jamais autre chose.

Certains langages modifient légèrement les chaînes pour les adapter aux spécificités du langages, ce qui peut parfois provoquer certains comportements inattendu.

Le compileur Swift optimise l’utilisation des chaînes, et ne prend jamais de ressources supperflues pour leur gestion. Ce qui signifie que vous obtiendrez toujours de bonnes performances lorsque vous travaillerez avec des valeurs de type String.