2016-07-15 6 views
-1

私は目的cで新しいです。私は目的のcのNSMutablestringの内容を置き換える方法

NSMutableString *myMutableStringObj = [myMutableStringObj stringByReplacingOccurrencesOfString:@" & " withString:@"And"]; 

として、私は、コードを使用してい可変文字列の内容を交換したいが、それは私がNSString *

からNSMutableString *にこのことについてどんな提案を割り当てる 比類ポインタ型の警告が表示されます。私はMutableStringを使用しています。

+0

buz stringByReplacingOccurrencesOfStringは、NSMutableStringではなくNSStringを返します。 –

答えて

0

この関数は、NSString *を返します。その警告をきれいにしたい場合。ちょうどこのようにしてください:

NSMutableString *myMutableStringObj = [[myMutableStringObj stringByReplacingOccurrencesOfString:@" & " withString:@"And"] mutableCopy]; 
+0

同じ警告が表示されます。 –

+0

@Muju私の失敗は、私の答えを更新しました。 – Lumialxk

+0

今はうまく動作します。 –

0

NSString Classからの方法を参照してください。

- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target 
             withString:(NSString *)replacement 

このメソッドはNSStringオブジェクトを返します。

したがって、結果をmutalbe文字列に変換するか、NSStringで結果をキャッチする必要があります。

+0

- 多分 - _mutable_文字列のメソッドを使うのはどうですか? – gnasher729

+0

@gnasherあなたはリンゴの文書に従うことができます。それは非常に明確であり、努力なしでは過小評価される可能性があります。 –

-1

plzはこのコードを使用

NSMutableString * str1 = [NSMutableString stringWithString:@"Hello Testing"]; 
    str1 = [[str1 stringByReplacingOccurrencesOfString:@"T" withString:@"B"] mutableCopy]; 
    NSLog(@"%@",str1); 
+0

可変文字列がどのように機能するかを完全に誤解しています。 「replaceOccurencesOfString」を使用します。作成する必要がある場合は、3つのオブジェクトを作成しています。 – gnasher729

+0

@ gnasher729私は3つのオブジェクトをどこで使用しているのか説明できますか? –

0

のNSStringとNSMutableStringのためのマニュアルを参照してください。それはあなただけに適用されるのではありません。このスレッドの回答は絶対に落ち込んでいます。

NSStringにも使用できるメソッドがありますが、以前の文字列に基づいて新しい不変の文字列を作成するNSMutableStringでも動作します。通常、 "stringBy ..."で始まるメソッドは、新しい文字列を作成します。

また、NSMutableStringインターフェイスには、というメソッドがあります。既存のNSMutableStringの内容をに変更します。 「replaceOccurencesOfString」と同様です。

ドキュメントを読み、あなたに適したものを選んでください。 "stringBy"で始まるメソッドはで、は変更可能な文字列を変更する予定で、新しい不変の文字列を作成しています。 を変更するには、NSMutableStringインターフェイスのメソッドを使用します。幸いにも、間違った方法を使用すると、コンパイラから指示があります。

関連する問題