自作iPhoneアプリ一覧(無料)
住所検索
MySpotNavi
SignPhotoR
HairManager
WebIDMemo

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[objective-c技術情報メモ]NSStringの罠

これはiOSアプリ開発に関するメモ的な日記です。
関係の無い方はスルーしちゃってください。


NSString。文字列を扱うクラスである。
クラス定義的には変更不可の文字列となっているが、
下記のようにすると値を変える事もできる。

例)
 NSString *string = @"";
 string = [NSString stringWithFormat:@"%@%@", string, @"a"];
 string = [NSString stringWithFormat:@"%@%@", string, @"b"];

実行結果はstring = "ab"だ。



動作的には動く。
しかし、、メモリリークするのだ。

私的な考えだが、メモリリークするぐらいなら
実行時にバスッっと落ちてしまった方が問題点が分かりやすい。
使用者から見れば、落ちない事が親切かもしれないが、
開発者としては使っていると原因も分からず落ちる方が
動作確認と修正に手間がかかる。


って訳で、可変の文字列を扱う場合は
ちゃんとNSMutableStringを使いましょう。
上記の例をNSMutableStringで書くと

例)
 NSMutableString *string = [NSMutableString string];
 [string appendString:@"a"];
 [string appendString:@"b"];

※詳しい使い方はぐぐってください。


実際これを直したおかげで、今開発中のアプリが落ちなくなりました。
(落ちない自信はないので、落ちにくくなったと思う)

コメントの投稿

管理者にだけ表示を許可する

プロフィール

きまぐれユリアン

Author:きまぐれユリアン


こんにちは。ユリアンです。
10年程ソフトウェア開発会社に勤め、プログラマやSEと言われるような事、その他、簡単な経理など色々な事をやっていました。
2011年12月末に退職。今はフリーでやっています。


ここではそんな仕事ネタは置いといて、日々の出来事や時事ネタ、それらに対して自分が思う事を思うがままに書いていく予定です。

どうぞよろしくお願いします。

最新記事
カテゴリ
月別アーカイブ
最新コメント
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。