タグ

NSOperationに関するsilemのブックマーク (6)

  • スレッド使ってCALayerでアニメーションする場合

    最終的にこんな画面に。この一つ一つのマスがばらばらと表示されてくる感じのものを作る。 スレッド処理として以下のようなNSOperationのサブクラスを作る。CALayerを追加時にはopacityを0.0fにしておくので、アニメーションは0.8f秒かけて単純に透明度を1.0fにするだけ。いろいろとハードコーディングしてあるが、気にしないよう。 #import "TTView.h" #import <QuartzCore/QuartzCore.h> @interface TTOperation : NSOperation { CALayer *layer; } @property (retain) CALayer *layer; @end @implementation TTOperation @synthesize layer; -(void) main { [CATransaction

    スレッド使ってCALayerでアニメーションする場合
    silem
    silem 2013/05/11
    スレッド使ってCALayerでアニメーションする場合
  • 曲がった迷路その34 - NSThreadとNSAutoreleasePool:腰も砕けよ 膝も折れよ:So-net blog

    前回の続き。このまま休みに入ると何をやってたのか忘れてしまうのでキリがいいところまで書いておく。 世間で言われているようにNSOperationのmainメソッドの中でAutoreleasePoolのインスタンスを作らないとリークするか、というとそうではない。 ではどうなっているのか? どうなっているのかを見るためにちょっと実験してみる。 NSAutoreleasePoolにはドキュメントされてないけどデバグに使うと思われるメソッドがある。 + (void)showPools; これはFoundation frameworkのclass-dumpを読んでいて見つけた。こういう隠しメソッドと言うかデバグ痕跡のようなものがときどきある。こういうドキュメントされていないメソッドはOSのバージョンによって動作が違ったり、極端な場合全然違う意味だったりそもそも存在しなかったりするので注意が必要である

  • CS193P 11日目 非同期処理をやってみる

    非同期処理を行う方法はいくつかある URLフェッチ処理ならば、NSURLConnectionクラスをつかっておけば一発 さらに簡単にURLフェッチ処理を行いたいのであればこのライブラリをおすすめ URLフェッチ以外の処理を行うならば、NSThreadを使うか、NSOperationとNSOperationQueueを併用する NSThreadは従来どおり、当にスレッド処理を記述する必要があるため非常に大変 対するNSOperationはインスタンスをつくってキューにぶち込んだら後は勝手にやってくれる、楽 UIViewやUIViewControllerに対する処理(要するに画面に対する処理)は、必ずメインスレッドから呼び出す必要がある スレッドセーフではないため 要するに[object performSelectorOnMainThread:withObject:waitUntilDone

    CS193P 11日目 非同期処理をやってみる
  • ちくわプログラマにっき

    ~/.vimrc に以下を追加すればOK。 "コマンドラインをEmacs風に編集する :cnoremap <C-A> <Home> :cnoremap <C-F> <Right> :cnoremap <C-B> <Left> /etc/ssh/sshd_configのPasswordAuthenticationを「no」にし、 # Change to no to disable tunnelled clear text passwords #PasswordAuthentication yes ↓ PasswordAuthentication noその後sshdを再起動すればOK。 $ /etc/init.d/ssh restart NSMutableURLRequestクラスのsetValue:forHTTPHeaderField:メソッドを使う。 NSURLRequestではなくNSM

    ちくわプログラマにっき
    silem
    silem 2011/04/07
    バックグラウンド処理
  • NSOperation を使って外部 API から非同期に結果を取得してみる

    iPhone / iPad のアプリを作っていると、頻繁に登場するのが「外部 API を HTTP 経由で実行して結果を XML / JSON で取得し、それを解析してモデルクラスに変換してデータ構造に突っ込む」パターンです。当然たくさんの先人の皆様がすでに効率的なライブラリを作成されているのですが、あえて私も車輪の再発明に挑戦してみました。今回使用したのは NSOperation クラスです。 NSURLConnection クラスとデリゲートを使うだけでも簡単に非同期通信を実現することができるのですが、さらに NSOperation クラスと NSOperationQueue を使うことでさらにタスク間の依存関係を簡単に設定できたり、タスクの並列度を簡単に制御したりできそうなので、挑戦してみました。 2010/12/29追加: 発展版をASIHTTPRequestを使って作成してみまし

  • iOS4 Issue: NSURLConnection and NSOperation | MKBlog

    Everyone knows NSOperation is easily the best way to automatically gain powerful multi-threading on iOS/Mac platforms. However, recently for one of my apps, I faced a issue where, the NSURLConnection’s initWithRequest method doesn’t automatically start even if you forcefully send the “start” message. For example the below code works perfectly on iPhone OS 3.1 and below but fails on iOS 4. - (void)

    iOS4 Issue: NSURLConnection and NSOperation | MKBlog
  • 1