Promiseの実装練習2
Objective-c版を実装し始めた。
C言語だと可変長引数の扱いどうしようとかトラブってなかなか進んでいない。一旦thenとresolve関数だけ実装してみた。
https://github.com/nilfs/promise-objc
メンバメソッドを呼ぶためにオブジェクトと関数ポインタ(セレクタ)を取っておく必要があってそれはNSInvocationというクラスを使うとうまくいく。
そもそも可変長引数のメソッドをどう扱おうと思ったときはここを参考にした
http://d.hatena.ne.jp/Kazzz/20120211/p1
NSInvocationというクラスの存在がわかったので少し光が見えてきたわけ。
NSInvocationクラスの使い方はここを参考にした
http://d.hatena.ne.jp/Kazzz/20120211/p1
まだ導入してないけど、このNSInvocationを生成するカテゴリは便利そう。
http://taoru.hateblo.jp/entry/20121119/1353290439
だんだんObjectiveCでも約束を守る実装が作れそうな気がしてきた。ObjCで出来るからC++でもどうにかなるかなぁ・・・。可変長引数を取っておく辺りのメモリ管理とか考えないとダメか