0317
昨晩はCoreDataのマルチスレッディングと格闘しました。削除通知からの処理を非同期でやっていたのが悪かったらしく(よく考えると当然だ)、そこを同期にすると落ちずに動き続けるようになりました。やったね。
ただしばらく動かしているといきなり数秒固まることがあって謎です。なんか優先度が間違ってるのかな?とりあえずJSONパースのスレッドを優先度下げてみたけれど。
あとUIのこともちょっと調べました。AppKitのUIはあんまり気の利いたものがないらしく(すこしずつ新しくはなっているようだけど、やっぱり根本的に古い)、結局自作することになりそう。UICollectionViewのクローンをやっている人はいたのだけど、そこまでの柔軟性は不要なのと挿入削除のアニメイションがないのとで、結局それを参考に自作かな。CVDisplayLinkというCADisplayLinkの対応物があるらしいので、これをベースにアニメイションすることになるでしょう。そのあたりは最近仕事で似たようなの書いたし、CollectionViewとしてのセルの再利用もなんとなく方針はわかってるし、あとは挿入削除のアニメイションかなあ。レイアウトの一般性を捨てつつちゃんと考えれば単純にできそうだけど。
お昼から仕事。いろいろの状態管理とかプッシュ通知のハンドルとかUIとか。そろそろデザイン適用のフェイズが近いけど、すでにできたパーツを組み合わせるだけの作業が思いのほかしんどいことは最近わかってきたので、まだまだ先は遠い。しかし納期はもうそんなに遠くない。ううむ。
今夜は上述のUI検討。試作まで入れるかな?