広告スペース(バナー)
🍎Objective-C レッスン
基本文法の基礎8▾
データ構造とオブジェクト指向7▾
構文の基本を深める9▾
関数とデータ構造の応用9▾
アルゴリズムとテストの基礎8▾
文字列・数値操作の応用8▾
実務で役立つ機能8▾
レッスン 23 / 68
配列の変換(map的な処理)
このレッスンでは、Objective-Cで配列の各要素を変換する処理を学び、map的な処理を実装できるようになることを目標にします。「Objective-C 配列変換 実装」で調べている方向けです。
Objective-Cには他の言語のようなmap()メソッドは標準にありませんが、forループで新しい配列に結果を詰めることで同じことができます。「ベルトコンベアの上を通すと、全部の商品が同じように加工される機械」のようなイメージです。
サンプルコードでは、NSMutableArrayを使い、for (NSNumber *n in nums)で元の配列を1つずつ処理し、[doubled addObject:@([n integerValue] * 2)]で2倍にした値を新しい配列に追加しています。@()という記法で数値をNSNumberに変換している点にも注目してみましょう。
初心者がよくつまずくのが、NSNumberとNSIntegerの相互変換です。配列に数値を入れるにはオブジェクトであるNSNumberに変換する必要があり、この手間がObjective-Cの数値配列操作を少し複雑にしています。
実際の開発現場では、価格に消費税をかける、単位を変換するなど、データの一括加工の場面でこの書き方がよく使われます。
📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください
🧪 このサイトではObjective-Cを直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。
🎯
ここまでできればゴール達成!
全員の点数を一律10%増しにするような、一括変換処理が作れるようになります。
全員の点数を一律10%増しにするような、一括変換処理が作れるようになります。
広告スペース(バナー)
広告スペース(記事内)