NSString A
をNSString B
の前に追加したいと思います。 NSStringの終わりの代わりにNSStringの先頭に追加するメソッドが組み込まれていますか?NSStringメソッドの先頭に追加
stringWithFormat
を使用することができますが、stringWithFormat
とstringByAppendingString
を使用してNSStringの最後にテキストを追加することの違いは何ですか?
NSString A
をNSString B
の前に追加したいと思います。 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クラスのクラスメソッドです。
"別の文字列に1つの文字列を追加する"というようなことはないと指摘しておきましょう。 NSStringは不変です。
いずれの場合も、「別の文字列で構成された新しい文字列を作成しています」。
新しく作成した文字列を同じ変数に戻しても問題ありません。
「文字列の最後にテキストを追加する」ことは決してありません。
シングルラインソリューション:ここ
myString = [@"pretext" stringByAppendingString:myString];
Iましスウィフト溶液:
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
}
}
クラス対インスタンスが "B" NSStringの上の任意の効果を持っていますか?どちらか一方を使用する利点は何ですか? – AnsonL
あなたはオブジェクト指向のプログラミングを研究しなければなりません、これは基本的な原理です –
インスタンスとクラスのメソッドが異なることを私は理解していますが、これはNSource "B" – AnsonL