「Mac」カテゴリーアーカイブ

Cocoa Application Tutorial の ConverterController.h を読み込む箇所でエラーが出る件

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.”というエラーが出てしまい先に進めない!

InterfaceBuilderでエラー

この問題は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 をドラッグ&ドロップ。

ib_solution_1

3. Document で先ほどドラッグ&ドロップした NSObject をマークして、Identity Inspector (メニュー「Tools」-「Identity Inspector」)のClassに“ConverterController”と入力。Document の NSObject が自動的に”Converter Controller”と変わるはず。これで完了。

ib_solution_2

4. Connections Inspector(メニュー「Tools」-「Connections Inspector」)を見ればoutletとactionが確認できる。ConverterController.hで定義したものが表示されているはず。

ib_solution_3

5. 以降はチュートリアル Bridging the Model and View: The Controller の Connect the ConverterController Instance to the Text Fields から再開すればよろしい。

本当にこれでいいのかどうかはわかりません。何せMacプログラミングについてはド素人なもんで・・・でもプログラムちゃんと動いてるからこれでいいんじゃないかな?