Day: January 11, 2014

obj.C:何かやれば必ず宿題がついて来る

サンプルコードをメソッドに機能分割できました。

あまり良くわかっていないのですが、XcodeのファイルをOS X、Cocoa、Objective-C classにしてサンプルコードをメソッドに分けることができました。もうひとつやりたかったこととして、プロジェクトをCommand Line ToolでなくCocoa Applicationを選択して作成することがありましたが、これもうまく行きました。

気がついた点は次の通りです。大きな問題はないと思いますが、いくつか宿題が残りました。

  • プロジェクトをCocoa Applicationにしたせいか、.h(ヘッダ)と.m(実装)がペアで2つ作成されました。Command Line Toolのときは、.h(ヘッダ)がひとつ、.m(実装)が2つでした。
    AppDelegate.hとAppDelegate.m
    r2aSampleCode.hとr2aSampleCode.m
  • 作成したクラスにサンプルコードを入れ、メソッドに分けました。インスタンスメソッドは、.m(メイン)に対応する.h(ヘッダ)にではなく、サンプルコードを入れた.mに対応する.h(ヘッダ)に定義すれば関連づけをつけられました。
    最初、両方のヘッダでインスタンス変数とメソッド定義をしたら、エラーが出ました。
  • 分割したメソッドでは、文字列や数値の定義をそれぞれに行う必要がありました。同じ変数名を使ってもエラーにならなかったのでcopy and pasteして一貫性を持たせました。
  • メソッドの実行の記述の仕方として、クラスメモリを記述しないとうまくいきませんでした。これはいずれもう一度ちゃんと調べる必要があります。
    [classMemory execCharactersPlus];
  • 気になったのは、#importするものが妥当かどうかです。Xcodeがデフォルトで作ったコード以外は、できるだけ余計なものは削除(comment out)しました。

スクリーンショット 2014-01-11 10.02.20 スクリーンショット 2014-01-11 10.06.08

スクリーンショット 2014-01-11 10.10.12