適性検査

○とか□とかをいっぱい描かせる
個数、正確さを評価
ひとまずメモ

iPhone OS での遅延呼び出し

NSNetServiceBrowser で didFindService したときに resolve してはいけないtableView:didSelectRowAtIndexPath: で insertRowsAtIndexPaths や deleteRowsAtIndexPaths をしてはいけない でハマったように iPhone OS では delegate で凝った処理をすると動かないことがある。
そんなときに performSelector ほげほげで遅延呼び出しをするわけだがこれにもいくつか方法があって悩ましい

(1)performSelectorOnMainThread:withObject:waitUntilDone:
動作はセレクタと引数のオブジェクトをメインスレッドのメッセージキューに積んで実行を待つ or ほっといて続けるよってな感じ
メインスレッド実行中に使うのはちょっと憚れる感もあるがリファレンスをつらつら眺めていると「メインスレッドで waitUntilDone に YES で使うと即時実行されるよ」的な記述もあるので想定内と思っていいだろう
内部的にはどんな実装になっているのだろうか。単純に考えれば同期オブジェクトで排他処理をしているキューに積む操作か、まぁそんなにコストはかからなそう。

(2)performSelector:withObject:afterDelay:
動作はセレクタと引数のオブジェクトを afterDelay 後にキューに積むよってな感じ
リファレンスには 0 を指定しても即時実行されずにキューに積まれるよって記述があるが、実際のところ内部的に Timer が使われるのか使われないのかはちとわからない
また実行をキャンセルできるというメリットもあるが有効な局面はほぼ無いと思う

ということでどっちを使うべきかなんだけど自分の好みとしてはやっぱり(1)かな
時間を指定するってのがちょっぴり抵抗があるので
しかしより汎用的なのは(2)でしょうね
別 Run Loop で使ったりも可能なので

こんな感じでまともな結論も出さずにこのエントリーは終わり
読んでるあなた、他にご意見等あれば是非コメントしてくださいな

OS X で OS 9 までのような機能拡張が廃止された理由

2000年の WWDC に行ったときのことである
OS X 概要的なセッションの終わり、質疑応答である参加者がこう聞いた

「OS X で機能拡張はサポートしないの?」

答えはノー

Apple のスピーカーはだいたいこんな感じのことを返していた

機能拡張(や類するコントロールパネル)は失敗だった。これらのおかげで本来安定して動作する筈の MacOS が不安定になってしまっている。カーネルエクステンション等のサポートはするがカジュアルな OS ハッキングはサポートしない。

会場では少しだけため息のようなざわめきがあった
私もちょっと残念に思った
しかしまぁ本当に素の MacOS が安定していたかはさておき、このような決定に対してとやかくいう筋合いじゃないのは間違いないと思う

ちなみに件の質問をした人は Aaron や Kaleidoscope の開発者だったような…
ちと記憶が曖昧

ORIGAMI 折り方

図解&実際の動画で折り紙の折り方を解説

で、コンテンツはどうするの?

なんとかなりそうな気がするけどねぇ、無理か

BENTO レシピ

動画付きならこりゃ売れるぜぇぇぇ

コンテンツはどっから?

糸冬 了

←Older