我想在NSString B
的前面追加NSString A
。是否有內置的方法追加到NSString的開始而不是NSString的結尾?追加到NSString方法的開頭
我知道我可以使用stringWithFormat
,但是使用stringWithFormat
和stringByAppendingString
將文本添加到NSString的末尾有什麼區別?
我想在NSString B
的前面追加NSString A
。是否有內置的方法追加到NSString的開始而不是NSString的結尾?追加到NSString方法的開頭
我知道我可以使用stringWithFormat
,但是使用stringWithFormat
和stringByAppendingString
將文本添加到NSString的末尾有什麼區別?
如果你可以附加到一個字符串的末尾,你可以預先添加到字符串的開頭。
追加
NSString* a = @"A";
NSString* b = @"B";
NSString* result = [a stringByAppendingString:b]; // Prints "AB"
前置
NSString* a = @"A";
NSString* b = @"B";
NSString* result = [b stringByAppendingString:a]; // Prints "BA"
您可以使用stringWithFormat太:
NSString *A = @"ThisIsStringA";
NSString *B = @"ThisIsStringB";
B = [NSString stringWithFormat:@"%@%@",A,B];
stringByAppendingString是的NSString,的一個實例方法stringWithFormat是類NSString的類方法。
可能值得指出的是,沒有「將一個字符串附加到另一個字符串」之類的東西。 NSString是不可變的。
在任何情況下,您都會「創建一個由一個字符串組成的新字符串」。
將新創建的字符串放回到同一個變量中並不重要。
你永遠不會「將文本添加到字符串末尾」。
單線解決方案:
myString = [@"pretext" stringByAppendingString:myString];
在這裏,我的解決方案在斯威夫特:
extension String {
// Add prefix only, if there is not such prefix into a string
mutating func addPrefixIfNeeded(_ prefixString: String?) {
guard let stringValue = prefixString, !self.hasPrefix(stringValue) else {
return
}
self = stringValue + self
}
// Add force full prefix, whether there is already such prefix into a string
mutating func addPrefix(_ prefixString: String?) {
guard let stringValue = prefixString else {
return
}
self = stringValue + self
}
}
例如是否VS類對NSString的 「B」 有什麼影響?使用其中一個的好處是什麼? – AnsonL
你必須學習面向對象編程,這是一個基本原理 –
我明白,實例和類方法是不同的,但是一旦你使用過,這會如何影響可用性pf NSString「B」? – AnsonL