ミームの死骸を待ちながら

We are built as gene machines and cultured as meme machines, but we have the power to turn against our creators. We, alone on earth, can rebel against the tyranny of the selfish replicators. - Richard Dawkins "Selfish Gene"

We are built as gene machines and cultured as meme machines, but we have the power to turn against our creators.
We, alone on earth, can rebel against the tyranny of the selfish replicators.
- Richard Dawkins "Selfish Gene"

第一回開発合宿、RubyCocoaメモ(2)


なんかこんな記事書いてると、インターンで勉強したRailsの内容を無秩序にブログにメモしていた頃を思い出す。もう2年か…

ステータス1で終了するエラー。

「ステータス?」なのでとりあえずメモ。

class AppController < OSX::NSObjectの中に作っていた空のメソッド

def awakeFromNib(sender = nil) 

を消したら起動した。
(追記)これ別に悪くない。たぶんendとかそこら間違ってた



テキスト受け渡し


Objective-Cとか経由するため、多少めんどくさいようだ。
ボタンを押すとsendsendというアクションが呼び出され、@textの文字列が@resultTextに表示される。

def sendsend(sender = nil)
	@resultText.setStringValue(@text.stringValue.to_s)
end

InterfaceBuilderの使い方に関する思いこみを上書き修正した。


結合するときドラッグする方向は「情報の方向」ではない。正しくは以下。


Classの青色ボックス => アプリケーション中のObject*1にドラッグするとき


アウトレットの接続。
あらかじめ設定しているoutletsの値を、Objectから取ってこよう/Objectで使用しようとするとき。
なおoutletsはib_outlets :hogehogeで設定し、@付きすなわちインスタンス変数で呼び出す。


Classの青色ボックス => アプリケーション中のObjectにドラッグするとき


アクションの接続。
Objectに対するなんらかの操作(ボタン押したり)をコードに結びつける。あらかじめactionを設定しておく。


読み込んだCSVをテーブルに表示


テーブルデータソース or オブジェクトコントローラーを使う。今回前者。
データソースはインスペクタから触る。のばしはアプリのObject(?)から青箱へ。OutletとしてDatasourceを選択。
カラムを入れ替えるため、データは列でなくidentifierで管理。故にHashである必要がある。Aryの場合は入れ直す。XCode3.0以降はAryでもちゃんと直してくれるらしい。


テーブルビューを再描画するタイミング。@hoge.reloadDataとか。
(結局関数間で呼び出しをやって、reloadは使わず)



少しCocoa本を探してみた

Happy Macintosh Developing Time―はじめてさわる、はじめてわかる!!Xcodeに完全対応、Web Kitも解説

Happy Macintosh Developing Time―はじめてさわる、はじめてわかる!!Xcodeに完全対応、Web Kitも解説

これ、faultierが持ってた。勝手に黒本と命名。内容が古いと聞いたので他にも探したところ、


Happy Macintosh Developing Time Third Edition Cocoaプログラマのための技術解説書

Happy Macintosh Developing Time Third Edition Cocoaプログラマのための技術解説書


これとか発見。黒本の第三版か…と思いきや、実は発展的内容を扱ったもので、
基礎内容は上記の"黒本"を参照した方が良いらしい。

黒本と似たようなタイトルと見た目の、Dashboard Widgets用の解説本もあるようだ。まぎらわしい…
人間の短期記憶能力を考えると、書名がここまで似てるのは一種の欠陥じゃなかろうか。


たのしいCocoaプログラミング

たのしいCocoaプログラミング

2007年刊行のこの本は同著者によるものだが、初心者向けっぽいのでよさそう。


他には、以下のような本がある

Mac OS X Cocoaプログラミング  入門Cocoa


どちらにしろ、Leopard用の解説書はまだない模様。僕はまだTigerなので(強がりを言えば)好都合だ。

*1:適切な呼び方ではないと思う。テキストフィールドとかボタンとかのことです