Obj.C

obj.C:わからないことの整理

問題を整理しきれていないから課題にまでブレイクダウンできないし、攻め方が見えてこない。

そういう訳で少しばかり問題を整理することにしました。

1. 何がわかっていないか?どこに違いがあるかわかっていない。

  • 目下使っているXcode 5.0.2と「Cocoaでいこう」の説明にあるMac OS X Developer Tools(2002年12月)/Project Builder(PB)では開発環境が違い過ぎる。
  • Xcode 5.0.2とPBでは、どのNibファイル(window)をロードするのか名前を返す箇所にソースコードに違いがある。
    – (NSString *)windowNibName //Xcode 5.0.2
    – (BOOL)loadDataRepresentation:(NSData *)data ofType:(NSString *)aType//PB
  • Xcode 5.0.2では、最後に+ (BOOL)autosavesInPlaceがある。これはどれと対応するのだろう?見落としている可能性がある。

2. 問題は何か?

  • どのNibファイル(window)を読み込むかの指定が正しくできていない。
    ①イメージの表示は[imageView setImage:image];で行うようだが、imageにセットできていない。
    ②image = [ [ NSImage alloc] initWithData:data];でNibファイル名をセットしているようだが、この命令を- (NSString *)windowNibName //Xcode 5.0.2の中に埋め込む方法がわかっていない。
    ③また、返り値をreturn ( image != nil)?( YES):( NO);セットできていない。
  • Document.xibで読み込めるファイルをjpgとpngにしたが、これがコードと対応できていない。もしくは、そうする必要があるかどうかわかっていない。
  • 現時点では開くファイルは固定で”Document”になっている。では、このDodumentというファイル名はどこに存在しているのか?それがわかれば、何かのヒントにつながるかもしれない。

3. 戦略

  • 新旧の環境の違いによる生成コードの違いを再チェックする。特に(BOOL)。
  • Nibファイル名をセットの仕方、返り値、イメージファイルの表示の3点について調べる。
  • 以上がわからない場合、どの道、Document-based Applicationについてわかっていないのだから、周辺から調べていく。いくつか参考になりそうなものにはたどり着けているので、これらを利用する。