Pixel Pedals of Tomakomai

北海道苫小牧市出身の初老の日常

2005-05-01から1ヶ月間の記事一覧

delegateもわからない

delegateの動きがイマイチ。例えば、今、copy: と validateMenuItem: をNSTableViewのdelegateのクラスで実装して動いているのだが、NSTableViewのドキュメントを見てもそんな話は出てない。 スーパークラスにcopy: と validateMenuItem:のデリゲートがある…

PuTTY

TTSSHから乗り換えます(たぶん)。最近はこっち使う方が一般的なんだろうねえ。 ところで、OS XでEUC出力できるターミナルはないのかなあ? VINE Linuxに接続したときに日本語打てなくて不便。。。付属のTerminal.appじゃ無理だよね?

First Responder

テーブル全体が選択されているときとカラムが選択されている場合を見分けたくて、それぞれの場合のファースト・レスポンダを比べてみる。[[NSApp keyWindow] firstResponder]で表示させると、どっちもNSTableViewだった。 よく見ると、NSTableViewにselected…

上書いちゃった

data1.txtとdata2.txtのバックアップを取りたくて、思わず打ってしまったコマンド。 tar -jcvf data1.txt data2.txt ああっ、data1.txtが消えた。。。コマンドラインには気をつけよう。

HOWとWHAT

# &とを変換する sub escape_html{ my $html = shift; $html =~ s/&/&/g; $html =~ s/</</g; $html =~ s/>/>/g; return $html; } と書くのは、よろしくない。 # 文字列のHTML部分をエスケープして返す sub escape_html{ my $html = shift; # &とを変換する $html =~ s/&/&/g; $h…

バインディングむずい(2)

だいぶ理解できた。 一番わからなかったのが、サンプルでNSArrayControllerからモデルをバインディングするってところだったんだけど、これはビューとコントローラのバインディングには関係がない作業。何のためにするかと言うと、コントローラの先にぶら下…

バインディングむずい

Cocoa Bindingsがむずい。環境設定ペインをバインディング使うと楽にできると書いてあったのをみてスタートしたのだが、もう、サッパリ。 とりあえず、ビューをShared User Defaultsにバインドして、アプリからはid defaults = [NSUserDefaults standardUser…

InfoPlist.string

Aboutメニューで表示されるコピーライトを変更するには、InfoPlist.stringを編集するとよい。

privateなメッセージ

宣言を実装ファイルに隠して、プライベートとする。そのときにカテゴリ名をPrivate等とするのが一般的。 @interface MyController ( private ) //private methods (NSString *)myPrivateMessage; @end って感じで、ヘッダファイル(MyController.h)ではなくMy…

NSPropertyListSerialization

NSSerializerは古かったらしい。新しいのは、NSPropertyListSerialization。 しかも、こんなクラスを使う必要はなくて、 //書き込み [array writeToFile: @"test.plist" atomically: YES]; //読み込み array = (NSArray *) [NSArray arrayWithContentsOfFile…

NSArchiverとNSSerializer

似たような名前の二つ。前者はクラスの永続化で、NSCodingプロトコルに沿ったオブジェクトの保存・復元を行う。後者は、データ(a kind of NSData, NSString, NSArray, or NSDictionary.)のみを保存・読み込むためのもの。 ツリーっぽいデータの保存には、NSS…

障害はいつも定時前(6)

CGI::Carpのソースを読んだ。グローバル変数に設定を持っていた。そもそもuse strictしてなかった。 mod_perl下でとある一つのスクリプトが、そんなモジュールのwarningsToBrowserを使ったせいで、サーバ上のスクリプトが一気に全部デバグモードになった。サ…

warning

XCodeでコンパイル時に、main.m:14: warning: passing argument 2 of 'NSApplicationMain' from incompatible pointer typeって怒られていたのを修正。 int main(int argc, char *argv[]) { return NSApplicationMain(argc, argv); }↓変更int main(int argc…

とりあえず初アプリ

Cocoaでの初アプリが完成。クリップボードの履歴を取るだけのアプリ。 NSTableViewに履歴を表示 データソースクラスを作り、NSTableViewに接続 コントローラクラスでNSTimerを使って、1秒ごとにクリップボードの監視 コントローラクラスをデータソースクラス…

The Core Data Framework

XCode 2.0からの新要素であるDeveloping with Core Data。perlで言うClass::DBIですな。それがGUIで設計できて、保存方法(binary, xml, SQLite等)もフレームワークが隠してくれるって言うんだから、超強力。クライアント側でそこまで複雑なデータ構造を扱う…

メモ

Objective-C 最適化。まだ二つ目と三つ目しか見てないけど、Objective-C の実装が垣間見えて面白い。

NSTextView

GUIアプリには疎いので、例えば、テキストエディタをどう作るのかとか、とんと見当もつかない。文字列を選択して処理をしたり、強調したい文字色を変更したりとか、どうやってるんだろう? って、疑問に思ったので、Cocoaでのやり方を少しだけ調べてみた。 -…

mod_proxy

ApacheのProxyPassディレクティブを使ってみた。これでWEBサーバが複数台でも1台を踏み台にしてアクセスできるようになった。