web-dev-qa-db-fra.com

Ajouter une chaîne dans Swift

Je suis nouveau sur iOS. J'étudie actuellement iOS avec Objective-C et Swift.

Pour ajouter une chaîne dans Objective-C, j'utilise le code suivant:

 NSString *string1 = @"This is";
 NSString *string2 = @"Swift Language";
 NSString *appendString=[NSString stringWithFormat:@"%@ %@",string1,string2];
 NSLog(@"APPEND STRING:%@",appendString);

Quelqu'un me guide s'il vous plaît.

60
user3733309

C'est très simple: 

Pour ObjC:

     NSString *string1 = @"This is";
     NSString *string2 = @"Swift Language";

ForSwift:

    let string1 = "This is"
    let string2 = "Swift Language"

Pour ObjC AppendString:  

     NSString *appendString=[NSString stringWithFormat:@"%@ %@",string1,string2];

Pour Swift AppendString:  

    var appendString1 = "\(string1) \(string2)"
    var appendString2 = string1+string2

Résultat:  

    print("APPEND STRING 1:\(appendString1)")
    print("APPEND STRING 2:\(appendString2)")

Code complet dans Swift:

    let string1 = "This is"
    let string2 = "Swift Language"
    var appendString = "\(string1) \(string2)"
    var appendString1 = string1+string2
    print("APPEND STRING1:\(appendString1)")
    print("APPEND STRING2:\(appendString2)")
104
PREMKUMAR

Dans Swift, l’ajout de chaînes est aussi simple que:

let stringA = "this is a string"
let stringB = "this is also a string"
let stringC = stringA + stringB

Ou vous pouvez utiliser une interpolation de chaîne.

let stringC = "\(stringA) \(stringB)"

Remarquez qu'il y aura maintenant des espaces entre eux.

Note: Je vois que les autres réponses utilisent beaucoup var. Les chaînes ne changent pas et doivent donc être déclarées avec let. Je sais que c'est un petit exercice, mais il est bon de prendre l'habitude des meilleures pratiques. Surtout parce que c'est une grande fonctionnalité de Swift.

16
Isaac Drachman
let string2 = " there"
var instruction = "look over"

choix 1:

 instruction += string2;

  println(instruction)

choix 2:

 var Str = instruction + string2;

 println(Str)

ref this

7
Anbu.Karthik

Ajouter cette extension quelque part:

extension String {
    mutating func addString(str: String) {
        self = self + str
    }
}

Ensuite, vous pouvez l'appeler comme suit:

var str1 = "hi"
var str2 = " my name is"
str1.addString(str2)
println(str1) //hi my name is

Beaucoup de bonnes extensions Swift comme celle-ci se trouvent dans mon dépôt ici, consultez-les: https://github.com/goktugyil/EZSwiftExtensions

6
Esqarrouth

Vous pouvez simplement ajouter stringlike:

var worldArg = "world is good"

worldArg += " to live";
5
Saurav Nagpal
var string1 = "This is ";
var string2 = "Swift Language";
var appendString = string1 + string2;
println("APPEND STRING: \(appendString)");
3
nicael

Selon Documentation Swift 4 , Les valeurs de chaîne peuvent être additionnées (ou concaténées) avec l'opérateur d'addition (+) pour créer une nouvelle valeur de chaîne:

let string1 = "hello"
let string2 = " there"
var welcome = string1 + string2
// welcome now equals "hello there"

Vous pouvez également ajouter une valeur de chaîne à une variable de chaîne existante à l'aide de l'opérateur d'affectation d'addition (+ =):

var instruction = "look over"
instruction += string2
// instruction now equals "look over there"

Vous pouvez ajouter une valeur de caractère à une variable String avec la méthode append () du type String:

let exclamationMark: Character = "!"
welcome.append(exclamationMark)
// welcome now equals "hello there!"
1
Shailendra Suriyal

> Swift2.x :

String("hello ").stringByAppendingString("world") // hello world
1
Melvin

Les chaînes concaténent en langue Swift.

let string1 = "one"

laisser string2 = "deux"

var concat = "(string1) (string2)"

la sortie du terrain de jeu est "un deux"

PREMKUMAR, dans la réponse acceptée, contient deux erreurs dans son code complet dans la réponse Swift. La première impression doit être lue (appendString) et La deuxième impression est lue (appendString1) En outre, println mis à jour est déconseillé dans Swift 2.0

Le sien

let string1 = "This is"
let string2 = "Swift Language"
var appendString = "\(string1) \(string2)"
var appendString1 = string1+string2
println("APPEND STRING1:\(appendString1)")
println("APPEND STRING2:\(appendString2)")

Corrigée

let string1 = "This is"
let string2 = "Swift Language"
var appendString = "\(string1) \(string2)"
var appendString1 = string1+string2
print("APPEND STRING:\(appendString)")
print("APPEND STRING1:\(appendString1)")
0
ROSSiDEAS

Swift 2.x

let extendedURLString = urlString.stringByAppendingString("&requireslogin=true")

Swift 3.0

Documentation: "Vous pouvez ajouter une valeur de caractère à une variable String avec la méthode append () du type String:" afin que nous ne puissions pas utiliser append pour Strings.

urlString += "&requireslogin=true"

"+" L'opérateur fonctionne dans les deux versions

let extendedURLString = urlString+"&requireslogin=true"
0
Ilker Baltaci
let firstname = "paresh"
let lastname = "hirpara"
let itsme = "\(firstname) \(lastname)"
0
Paresh Hirpara