Macを昨年はじめて購入。折角なのでMacプログラミングの勉強をしようとAppleのMac開発者向けページにあるCocoa Application Tutorial(Safariじゃないと見えないかも)から始めたが・・・いきなり問題発生!
このチュートリアルの Bridging the Model and View: The Controller の Interconnecting the Controller with the View に Interface Builder で ConverterController.h を読み込んでいる箇所があるが、これをやると”Parsed 1 source file, but no classes were found or changed.”というエラーが出てしまい先に進めない!
この問題はAppleの開発者向けフォーラムでも取り上げられている。Topic : Interface Designer: “Reading Class File” fails 英語が苦手でよくわからんが特定環境で発生している問題らしく、現時点では解決策が載っていない。ちなみにうちの環境は、Mac OS X 10.6.2, Xcode 3.2.1 (64bit), Interface Builder 3.2.1(740)。
どうにか出来ないものかとさらに調べてみると、このページ(Subclassing in Interface Builder 3)で先に NSObject を作ってしまう方法を発見。この方法でやったらできた。
というわけでまとめ。
1. Bridging the Model and View: The Controller の Interconnecting the Controller with the View まではチュートリアルと同じ。
2. ここで Interface Builder の Library から Document へ NSObject をドラッグ&ドロップ。
3. Document で先ほどドラッグ&ドロップした NSObject をマークして、Identity Inspector (メニュー「Tools」-「Identity Inspector」)のClassに“ConverterController”と入力。Document の NSObject が自動的に”Converter Controller”と変わるはず。これで完了。
4. Connections Inspector(メニュー「Tools」-「Connections Inspector」)を見ればoutletとactionが確認できる。ConverterController.hで定義したものが表示されているはず。
5. 以降はチュートリアル Bridging the Model and View: The Controller の Connect the ConverterController Instance to the Text Fields から再開すればよろしい。
本当にこれでいいのかどうかはわかりません。何せMacプログラミングについてはド素人なもんで・・・でもプログラムちゃんと動いてるからこれでいいんじゃないかな?