Добавить строку в Swift

Я новичок в iOS. В настоящее время я изучаю iOS, используя Objective-C и Swift.

Чтобы добавить строку в Objective-C, я использую следующий код:

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

Кто-нибудь, пожалуйста, ведите меня.

12 ответов

Решение

Это очень просто:

Для ObjC:

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

ForSwift:

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

Для ObjC AppendString:

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

Для Swift AppendString:

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

Результат:

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

Полный код в 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)")

В Swift добавлять строки так же просто, как:

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

Или вы можете использовать интерполяцию строк.

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

Обратите внимание, что теперь между ними будет пробел.

Примечание: я вижу, что другие ответы используют var много. Строки не меняются и поэтому должны быть объявлены с использованием let, Я знаю, что это небольшое упражнение, но полезно привыкнуть к лучшим практикам. Тем более, что это большая особенность Swift.

Добавьте это расширение куда-нибудь:

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

Тогда вы можете назвать это как:

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

Множество хороших расширений Swift, таких как это, находятся в моем репозитории, посмотрите их: https://github.com/goktugyil/EZSwiftExtensions

let string2 = " there"
var instruction = "look over"

Выбор 1:

 instruction += string2;

  println(instruction)

выбор 2:

 var Str = instruction + string2;

 println(Str)

Ref это

Вы можете просто добавить строку как:

var worldArg = "world is good"

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

Согласно Документации Swift 4, строковые значения могут быть добавлены (или объединены) с помощью оператора сложения (+) для создания нового строкового значения:

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

Вы также можете добавить значение String к существующей переменной String с помощью оператора присваивания (+=):

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

Вы можете добавить значение Character к переменной String с помощью метода append () типа String:

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

> Swift2.x:

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

Строки объединяются на языке Swift.

let string1 = "one"

let string2 = "два"

var concate = "(string1) (string2)"

выход playgroud "один два"

SWIFT 2.x

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

SWIFT 3.0

Из документации:"Вы можете добавить значение Character в переменную String с помощью метода append() типа String:" поэтому мы не можем использовать append для строк.

urlString += "&requireslogin=true"

Оператор "+" работает в обеих версиях

let extendedURLString = urlString+"&requireslogin=true"

В принятом ответе PREMKUMAR есть пара ошибок в его полном коде в ответе Swift. Первая печать должна читать (appendString), а вторая печать должна читать (appendString1). Кроме того, обновленный println устарел в Swift 2.0

Его

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

Исправленный

let string1 = "This is"
let string2 = "Swift Language"
var appendString = "\(string1) \(string2)"
var appendString1 = string1+string2
print("APPEND STRING:\(appendString)")
print("APPEND STRING1:\(appendString1)")
let firstname = "paresh"
let lastname = "hirpara"
let itsme = "\(firstname) \(lastname)"
Другие вопросы по тегам