Obj.C

obj.C:NSObject?

今まで@interface MesaCont : NSObjectと定義していたのですが、NSDoument-based ApplicationではNSDocumentなのですね?

NSTextViewとNSWebViewを組み合わせて使ってみたくなったので、新しいプロジェクトにNSDoument-based Applicationを組み込んで作りました。ところが、@interface Document : NSDocument となっており、従来の@interface AppDelegate : NSObject <NSApplicationDelegate>から定義が変わっています。

あまり考えてもきりがないので、まず動くようにするためにMesaCont.mはDocument.mに、MesaCont.hはDocument.hにcopy and pasteで移しました。それからmain.xibはDocument.xibにファイルをcopy/renameしました。とりあえず、これで動くようになりました。MesaTViewCont.h、MesaTviewCell、MesaModel.hはNSObjectのままですが、build errorも警告も出ません。先に進めるために良しとします(あとで、これらもNSDocumentに修正しました)。こんなことをやっていると、たいていの場合、あとからしっぺ返しが来るのですけど。

現在、URL➡Text View➡.rtfd➡textStorage➡修正➡textStorage➡.dataのフローになっていますが、Web Viewを使う方法がないか試したかったのです。

結果はと言うと、サンプルプログラムでは、エラーが出ながらも動いたのですが、MesaClipはWebViewを定義した途端、コードを書いたアプリケーションに制御が渡りません。もう少しやってみて、ダメだったらgive upします。

追記:あとから気がついたのですが、Document.mでMesaCont.mをイニシャライズすれば良かったのかもしれません。この次は、このことを忘れないように試すことにします。

スクリーンショット 2014-04-07 07.12.29

Categories: Obj.C, 技術

Tagged as: