2012-05-10 4 views

答えて

8

NSStringを作成した直後にcharバッファを安全に解放することができます。 NSStringsは、渡されたデータを常にコピーします。これにより、その不変性が保証されます。

+0

この時点でも、論文にも研究を与えることができます:@ ""は常に定数NSStringsを返し、stringWithFormatはNSStringオブジェクトのクラスメソッド(あなたには表示されません)であり、返されるオブジェクトは型ですARCで "コンパイラは自分のメモリ管理に気をつけます"。 –

+0

実際にここでC文字列を安全に削除できる理由は2つあります。最初に、Matt Wildingが示唆したように、NSStringは常にデータをコピーします。第2に、合理的な言語やライブラリのsprintf型関数は、あなたの文字列を指すポインタを保持しません。渡すすべてのパラメータを書式設定することによって新しい文字列を作成するため、これらのパラメータは必要ありません再び。 – abarnert

関連する問題