[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で引
無為空間 むいむい(´ω`*) Entries CAEAGLLayerを同じ絵で埋め尽くす タグ: iPhone OpenGL Objective-C 以前CGContextでやった、任意の領域を特定の画像で埋め尽くす処理を、OpenGL ESでもやってみる。 まずは、任意の領域の指定に「深度バッファ」を使ってみよう。 このような用途には「ステンシルバッファ」の方が適しているのだろうが、iPhoneのOpenGL ESにはステンシルバッファはない。 iGLUの試用に使ったプロジェクトに画像(ここでは「64x64.png」)を追加する。 EAGLViewに以下のインスタンス変数を追加する。 GLuint tileTexture; CGSize tileSize; #define USE_DEPTH_BUFFER 0 を #define USE_DEPTH_BUFFER 1 に書き換える。 c
Appleに関するニュースやiPhone/iPad、iOSアプリケーション開発について淡々と綴っています。 お絵かきアプリをつくったりする場合にどうしても必要なのが、 UndoとRedo 自前で実装しようとすると案外面倒くさいです。 今回はちょこっと楽してUndo&Redoを実装する方法を紹介。 NSUndoManager っていうのを使うとよさげです。 どんなふうに使えるかというと、 適当にiを宣言 int i = 0; 仮にUndo用のメソッドを以下の用に定義していたとする。 - (void)undoInt:(int)oldInt { i = oldInt NSLog(@"i : %d", i); } 下記のようにして、Undo処理(ここではundoInt:(int)oldIntメソッド)をundoManagerにスタックする。 [[undoManager prepareWithInv
-(UIImage *) saveImageFromGLView { NSInteger myDataLength = 320 * 480 * 4; // allocate array and read pixels into it. GLubyte *buffer = (GLubyte *) malloc(myDataLength); glReadPixels(0, 0, 320, 480, GL_RGBA, GL_UNSIGNED_BYTE, buffer); // gl renders "upside down" so swap top to bottom into new array. // there's gotta be a better way, but this works. GLubyte *buffer2 = (GLubyte *) malloc(myDataLengt
まずは。あんまりドヤ顔で先生ぶるほどの実績があるわけではないです。 それやっちゃうと、お友達の橋本先生(仮)とか国立先生(仮)がおい!って言ってげらげら笑い出すので自分がやったことの記録として残しておきます。 OpenGLを使ってお絵描きソフトを作っているみなさん。本家のサンプルはダウンロードしましたか? http://developer.apple.com/library/ios/#samplecode/GLPaint/Listings/ReadMe_txt.html ここでプロジェクトをダウンロードして、半日ぐらいコードを眺めます 。このプロジェクト、iPhoneをシェイクするとお絵描きしたものをまるっと消してしまいます。 じゃあ、そこって何が書いてあるの?というのを眺めてみましょう。 // Erases the screen - (void) erase { [EAGLContext
サービス終了のお知らせ NAVERまとめは2020年9月30日をもちましてサービス終了いたしました。 約11年間、NAVERまとめをご利用・ご愛顧いただき誠にありがとうございました。
JavaScriptのコードをフォーマット&色付けを行い、その内容をHTMLに貼り付けられる形にします。 JsDecoderというソースの整形&色付けを行ってくれる便利なライブラリを使って実現しています。 JsDecoder - code.gosu.pl →Blogへ戻る 使い方 下記のテキストエリアにJavaScriptのコードを入力し、「Preview」ボタンを押します。 すると、コードを整形したイメージが表示されます。 そのコードをHTML上に貼り付ける場合には、さらにその下のテキストエリアのテキスト内容を使用します。 format color
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
Important AnnouncementPlease take a moment to watch this very important video announcement from Maya. … [Read More...] Third Day of Digital Scrapbooking Weekend!!!Digital Scrapbooking Day Sale! And today we're at day 3 of Digital Scrapbooking weekend. Don't forget that you can get a FREE gift with $10 purchase in the store!!! And, for those that … [Read More...] DSD 2017 – Digital Scrapbooking Day
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く