2010年10月14日木曜日

Objective-C + libxml2 を使ってフィードを取り込みたいんだ(7)

前々回からの続き。

NSURLConnection で非同期でフィードを勝手に読み込んでくれるのは助かるよ。
けど、NSURLConnection で非同期処理をほぼ同時期にいっぱい開くのはどうだろうか。
良くなくなくないってことで対応しようと思う。


ここで、libxml2 のことでなくて NSOperation の話に変わって行くことになるらしい。
気にせず進める。

調べてたらNSOperation使うのは、裏で複数の処理を動かしたいんだったら、行儀よくスレッド分けて動かしたほうがいいんじゃないか。ってことっぽい。



しかし難しい。いろいろと調べてて混乱が深まるばかりだ。
いま混乱しているのは通知のところ。
NSOperationQueueのキューに突っ込んだNSOperation なインスタンスは、メインスレッドからは切り離されて処理されてるけど、処理が終了したときはメインスレッドに「終わったよ」ってお知らせしてね。これが通知。
で、混乱してるのは通知する方法が2つあるっぽいってこと。

1.キー値監視
2.Cocoa Notification

NSOperation のことをあっちこっち見ながら調べてると、キー値監視でやってることが多い。
AppleのサンプルのTopSongsだとNotification使ってる。


どうするか。通知はどっちでやっていくか。
簡単そうなのはキー値監視する方。
Cocoa Notification は茨の道だけど、使えるようになると応用が効きそう。


って、両方やらないとだろ。
ってことで「Objective-C + libxml2 を使ってフィードを取り込みたいんだ」の続きを中断して

・「キー値監視(key-value observing 略してKVO)を調べる」
・「Cocoa Notification を調べる」

を(できれば)やっていきたい。


(そろそろ挫折するかもしれん。)

0 件のコメント:

コメントを投稿