プログラムの一部は、uitextfield からテキストを取得し、それを変更可能な文字列にコピーしてから実行します。
sharedManager.ce_name=name.text
[sharedManager.ce_name replaceOccurrencesOfString:@" " withString:@"%20"
options:NSLiteralSearch range:NSMakeRange(0, [sharedManager.ce_name length])];
この時点で、常に「不変オブジェクトを変更しようとしている」というメッセージが表示されました-ランダムではありませんでした
初めてこのエラーが発生したとき、次のように変更しました
sharedManager.ce_name=(NSMutableString *)name.text
これにより、不変オブジェクトのエラーを変更しようとする試みが行われましたが、ランダムに発生します - 変ですよね?
私はそれをに変更しました
NSMutableString *mutable_name = [NSMutableString stringWithString:name.text];
sharedManager.ce_name=mutable_name;
この方法でまだ失敗したことはありませんが、解決策が見つからなかったと確信しています。
私の質問:
1)最初の修正後にランダムに実行していたという事実は、メモリ管理に深刻な問題があることを示している可能性がありますか?
2) C スタイルのキャストで修正されなかったのはなぜですか?
3) 現在の修正は機能しますか?
御時間ありがとうございます :)