コース: Objective-C 基本講座

今すぐコースを受講しましょう

今すぐ登録して、23,200件以上登録されている、業界エキスパート指導のコースを受講しましょう。

出来事シミュレータ・オブジェクト版を作る

出来事シミュレータ・オブジェクト版を作る - Objective-Cのチュートリアル

コース: Objective-C 基本講座

出来事シミュレータ・オブジェクト版を作る

このレッスンではオブジェクトの配列 を管理する方法を紹介します 1 週間の内に起こった出来事を記憶させ 再現するクラスを考えてみましょう シュミレーターと名付けます weekHistory メソッドでは 出来事を1 週間分発生させ履歴を取ります replay では weekHistory から戻された 履歴を使って 1 週間分に起こった出事を再現させます そしてシュミレーターは次のように使います 出来事もクラスとして用意します Event と名付け BookEvent DrinkEvent を派生させます 詳しい説明は省きますが Noneを送ると それぞれの出来事をコンソールに 出力するようにします weekHistory で行うことは 出来事の候補を配列で用意すること 7 日間のループの中で候補配列から1 つ ランダムに出来事を取り出すこと 取り出した出来事を配列に記憶すること となるのですが気になるのはこの配列に 従来の配列が利用できるのかという点です 配列の宣言なら問題はなさそうですが malloc などで配列を確保しようと するとコンパイラに注意されることになります オブジェクトは ARC で管理されているのですが ARC はmalloc で確保された 配列までは管理しきれないのです いろんな設定をして手間をかければ できないこともありませんがオブジェクトの 配列専用のクラスが用意されているので そちらのオブジェクトを使ってください オブジェクトの配列専用のクラスは NSarray と言います 基本的にオブジェクトの配列は NSarray で管理してください オブジェクトを収納管理するために 作られていてコンテナクラスとも呼ばれます 使っているイニシャライザー initWithObjectは 可変調の引数で収納したいオブジェクトを カンマで区切って並べるようになっています そして最後にもう収納したいオブジェクト はないという意味でnillを置きます 並べた順にオブジェクトが収納されます 収納されたオブジェクトは ObjectAtIndexで参照できます 引数には配列要素を指定する 添え字を指定します 添え字は通常の配列同様0 から始まります これに加えNSarray は 自分が収納しているオブジェクトの数を カウントプロパティから…

目次