[Cocoa] NSMutableArrayのインスタンスを”Mutable”なまま複製したいときは”mutableCopy”メソッドを使おう photo credit: alberthuynhphoto iPadアプリの開発をしていて少しハマってしまったのでメモ。 最近よくハマるので、どんどんブログ記事にしてまとめていきたいと思います。 問題 NSMutableArrayのインスタンス(つまり変更可能な配列)を複製して、複製先の配列にオブジェクトを挿入しようとしたときのことです。 下記のようなコードを実行すると途中で例外が発生し、プログラムが停止してしまいました。 NSMutableArray* originalArray; NSMutableArray* duplicatedArray; originalArray = [[NSMutableArray alloc] init]; du
2012年04月20日20:05 by idyn NSArrayはNSMutableArrayにキャスト可能か? カテゴリiPhoneアプリ開発 ツイート 結論からいうと、キャスト演算子での変換は不可能です。 (NSArray←→NSMutableArrayの変換自体は可能です。後述します。) キャストした場合でも基本的には意図通り動作するのですが、たまに不具合が起きます。 例えば、要素が1つのNSArrayをNSMutableArrayにキャストして NSMutableArray *array = (NSMutableArray *)[NSArray arrayWithObject:@"test"]; [array removeObject:@"test"]; のようにremoveObject:メソッドを呼び出すと、SIGABRTシグナルと共に以下のエラーが出力されます。 (面白いことに
ゲーム、エンタメサービスの開発会社、 株式会社アールフォース・エンターテインメントから、 ゲーム開発ゲンバの生の声をお送りします。 こんにちは。 火曜日担当の十万石饅頭です。 ↓このiPhoneアプリ、涼しげでいいな~と思いました。 AppStoreでも度々おすすめとして紹介されていたので、 ご存知の方も多いかもしれません。 ゲーム要素はありませんが、金魚と水面がよく動いていて とても魅力的です。餌もあげ放題ですよ。 欲を言えば、時計機能が付いていれば趣のある時計としても 使えていいんじゃないかな、なんて思います。 さて、前回にObjective-Cの「retain」というものを紹介しました。 インスタンス変数として宣言したNSMutableArrayの変数に対して 使用し、「オブジェクトの保持と解放についてソースの編集者が責任を持つ」 ことを設定していました。 今回はそのretainで引
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く