月別アーカイブ: 2013年8月

[iOS][Objective-C]プロトコルを用いたコールバック関数実装

非同期通信を行なう部分をライブラリ化したいと思ったら,
通信完了後に呼び出すコールバック関数を実装するのをどうやるんだろうと疑問に思った.

下記を参考にやり方を把握した.(他にも適切な方法があるかもしれない)
http://d.hatena.ne.jp/sugyan/20091213/1260708978

プロトコル(JavaのInterface)を利用して実装することができる.

キーになるのは下記だと思う.
(1)コールバック関数として,登録したい関数をプロトコルで宣言する.
(2)Delegateで呼び出し側のクラスのポインタ(self)をライブラリ側に渡す.
(3)ライブラリ側は(2)で得たDelegateのポインタを利用して(1)の関数を呼び出す

一般的なライブラリではdelegateを指定することが多いが,
その理由も上記内容を理解すれば納得できると思う.

[Linux]エイリアスの初期設定

いつもLinuxで行うエイリアスの初期設定です.

・ファイル一覧表示を簡易に行えるようにする

alias ll=’ls -al’

・lsで表示時にディレクトリなのかファイルなのかを判断できるようにする

alias ls=’ls -xvF’

・rmの削除前に問い合わせるようにする

alias rm=’rm -i’

Ghostscriptのインストールエラー対応

Mac OS X 10.8.2にGhostscriptのインストールしようとしたら,エラーが出たときの対処です.

通常次のコマンドでインストールできます.

 # brew install ghostscript

しかし,下記のエラーがでました.

curl: (22) The requested URL returned error: 404

Error: Download failed: http://ghostscript.com/~giles/jbig2/jbig2dec/jbig2dec-0.11.tar.gz

調べた所,brewのバグのようで,アップデートして再度インストールすればOKでした.

 # brew update

再度インストール

 # brew install ghostscript