Ich bin neu in iOS. Ich studiere derzeit iOS mit Objective-C und Swift.
Um eine Zeichenfolge in Objective-C anzuhängen, verwende ich folgenden Code:
NSString *string1 = @"This is";
NSString *string2 = @"Swift Language";
NSString *appendString=[NSString stringWithFormat:@"%@ %@",string1,string2];
NSLog(@"APPEND STRING:%@",appendString);
Jemand bitte führt mich.
ios
objective-c
swift
jluckyiv
quelle
quelle
Antworten:
Es ist sehr einfach:
Für ObjC:
NSString *string1 = @"This is"; NSString *string2 = @"Swift Language";
ForSwift:
let string1 = "This is" let string2 = "Swift Language"
Für ObjC AppendString:
NSString *appendString=[NSString stringWithFormat:@"%@ %@",string1,string2];
Für Swift AppendString:
var appendString1 = "\(string1) \(string2)" var appendString2 = string1+string2
Ergebnis:
print("APPEND STRING 1:\(appendString1)") print("APPEND STRING 2:\(appendString2)")
Vollständiger Code in 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)")
quelle
appendString2 = [string1 stringByAppendingString: string2];
appendString1
viel performanter ist als die Verkettung (appendString2
).In Swift ist das Anhängen von Zeichenfolgen so einfach wie:
let stringA = "this is a string" let stringB = "this is also a string" let stringC = stringA + stringB
Oder Sie können die Zeichenfolgeninterpolation verwenden.
let stringC = "\(stringA) \(stringB)"
Beachten Sie, dass zwischen ihnen jetzt Leerzeichen stehen.
Hinweis: Ich sehe, dass die anderen Antworten
var
viel verwenden. Die Zeichenfolgen ändern sich nicht und sollten daher mit deklariert werdenlet
. Ich weiß, dass dies eine kleine Übung ist, aber es ist gut, sich an bewährte Praktiken zu gewöhnen. Vor allem, weil das ein großes Merkmal von Swift ist.quelle
let string2 = " there" var instruction = "look over"
Wahl 1:
instruction += string2; println(instruction)
Wahl 2:
var Str = instruction + string2; println(Str)
ref dies
quelle
Fügen Sie diese Erweiterung irgendwo hinzu:
extension String { mutating func addString(str: String) { self = self + str } }
Dann können Sie es so nennen:
var str1 = "hi" var str2 = " my name is" str1.addString(str2) println(str1) //hi my name is
Viele gute Swift-Erweiterungen wie diese befinden sich in meinem Repo hier. Schauen Sie sich diese an: https://github.com/goktugyil/EZSwiftExtensions
quelle
Sie können einfach eine Zeichenfolge anhängen wie:
var worldArg = "world is good" worldArg += " to live";
quelle
var string1 = "This is "; var string2 = "Swift Language"; var appendString = string1 + string2; println("APPEND STRING: \(appendString)");
quelle
Gemäß der Swift 4-Dokumentation können String-Werte zusammen mit dem Additionsoperator (+) addiert (oder verkettet) werden, um einen neuen String-Wert zu erstellen:
let string1 = "hello" let string2 = " there" var welcome = string1 + string2 // welcome now equals "hello there"
Sie können einen String-Wert auch mit dem Additionszuweisungsoperator (+ =) an eine vorhandene String-Variable anhängen:
var instruction = "look over" instruction += string2 // instruction now equals "look over there"
Sie können einen Zeichenwert mit der append () -Methode des String-Typs an eine String-Variable anhängen:
let exclamationMark: Character = "!" welcome.append(exclamationMark) // welcome now equals "hello there!"
quelle
> Swift2.x :
String("hello ").stringByAppendingString("world") // hello world
quelle
Zeichenfolgen verketten sich in der Swift-Sprache.
let string1 = "one"
let string2 = "zwei"
var concate = "(string1) (string2)"
Playgroud-Ausgabe ist "eins zwei"
quelle
In der akzeptierten Antwort PREMKUMAR gibt es einige Fehler in seinem vollständigen Code in der Swift-Antwort. Der erste Druck sollte lesen (appendString) und der zweite Druck sollte lesen (appendString1). Außerdem ist der aktualisierte Druck in Swift 2.0 veraltet
Seine
let string1 = "This is" let string2 = "Swift Language" var appendString = "\(string1) \(string2)" var appendString1 = string1+string2 println("APPEND STRING1:\(appendString1)") println("APPEND STRING2:\(appendString2)")
Korrigiert
let string1 = "This is" let string2 = "Swift Language" var appendString = "\(string1) \(string2)" var appendString1 = string1+string2 print("APPEND STRING:\(appendString)") print("APPEND STRING1:\(appendString1)")
quelle
SWIFT 2.x.
let extendedURLString = urlString.stringByAppendingString("&requireslogin=true")
SWIFT 3.0
Aus der Dokumentation: "Mit der append () -Methode des String-Typs können Sie einen Zeichenwert an eine String-Variable anhängen:" Daher können wir append nicht für Strings verwenden.
urlString += "&requireslogin=true"
Der Operator "+" funktioniert in beiden Versionen
let extendedURLString = urlString+"&requireslogin=true"
quelle
let firstname = "paresh" let lastname = "hirpara" let itsme = "\(firstname) \(lastname)"
quelle