09:41:11TwitterFacebookはてブPocketLINE配列はプログラミングで重要な概念の一つで、配列をいかに使いこなすかでソースコードの効率性が大きく変わってきます。Swiftでもそれは同じです。このページでは、Swiftの配列の基本を解説していきます。配列を使用するためには最初に宣言する必要があります。Swiftにおける配列の宣言は以下のようになります。値3]これは型を指定せずに配列を宣言したものです。型を指定した場合、以下のようになります。値3]変数の宣言同様、コロン区切りで型を指定します。型推論が働くのも変数と同様なので、あえて初期値の型を指定する必要はありません。varとletの違いについてですが、varは変数や配列の要素を変えることができます。逆にletは変数や配列の中身を変更できません。使い分けとしてはシンプルで、初期値から値を変更する可能性があるならvarで、初期値のまま変更したくない場合はletを使用した方が誤って要素を書き換えてしまうことがない分安全です。配列を宣言しさらにその配列を初期化します。サンプルコードは以下です。Array()これで空の配列が二つできました。次に配列を初期化する方法ですが、構文は以下のようになります。要素数)この構文を使ったサンプルコードは以下です。5)print(arrayCounts)上記のコードを実行すると、出力結果は以下になります。0]初期値が0でそれを5個カウントしました。配列に要素を代入する方法は上書きや追加がありますが、ここでは追加を説明します。上書きの場合要素番号を指定して要素を書くだけなので、追加ができれば上書きもできます。配列に要素を追加するにはappendメソッドを使用します。配列.append(値)配列に対してメソッドを使用し、引数に追加したい値を指定します。サンプルコードは以下です。{print("\(value)")}上記のサンプルコードを実行すると、以下のようにコンソール出力されます。appendメソッドを使用せず、演算子で要素追加することも可能です。以下のサンプルコードのようになります。{print("\(value)")}このコードでも同様の結果が得られます。追加と同じような方法で要素を結合することができるので、合わせて紹介しておきます。具体的にはjoinedメソッドを使うと配列の要素が結合されます。以下はサンプルコードです。foods.joined()print(str)このコードを実行すると、以下のようにすべての要素が結合されて出力されます。例ではjoinedの引数に何も指定しませんでした。何も指定しないとjoinedの結合で区切るものがないためすべての要素がつながるのですが、引数に区切り文字を指定することができます。以下のサンプルコードのようになります。",")print(str)上記のコードを実行すると、以下のようにコンソール出力されます。ラーメン,チャーハン,餃子,天津飯,杏仁豆腐カンマ区切りで出力されました。joinedの引数でseparatorを指定した結果、このようになっています。配列の値渡しと参照渡しSwiftの配列では値渡しと参照渡しが可能です。値渡しは元の配列の値をコピーし、それを渡す方法です。参照渡しは元の値を参照するための場所を渡すものです。値渡しの場合元の値ではなくコピーしたものなので、値を書き換えても元の値が変わることはありません。一方で、参照渡しの場合場所を渡しているだけなので、値を書き換えると元の配列の中身が変わります。以下は値渡しのサンプルコードです。2]次に、参照渡しのサンプルコードです。3]値渡しではoldArrayの中身に変化がありませんが、参照渡しではoldArrayの中身が変わっています。参照渡しでoldArrayの中身が変わったのはコードを見るとわかる通りplusOneが呼び出されたタイミングです。いえ配列を使い始めて間もないうちに参照渡しや値渡しを使うことはないので、今の段階ではこういったコードもあるんだ、ということを把握しておけば良いかと思います。基本を押さえておくことが重要です。まとめ他のプログラミング言語の経験がある方は、Swiftの配列が特別難しいわけではない、ということがわかったかと思います。Swiftの配列が他の言語と比べて特別なわけではなく、逆に言えばSwiftの配列を学習しておけば他のプログラミング言語にも応用が利きます。Swiftに限らず配列はプログラミングにおける基本概念の一つで、これを知らないと実践的なプログラミングは不可能と言っても過言ではありません。配列を使わないと一つ一つの要素に対して変数を用意することになり、要素数が多ければ多いほどとてつもなく冗長なコードになってしまうからです。案件量が豊富なアルマサーチ最後に、アルマサーチのご紹介!アルマサーチはフリーランス向けに案件をご紹介することに特化したエージェントサービスです。豊富な案件量から、安定して継続的な案件のご紹介を実現しており、口コミから登録エンジニアが急増中です。週3〜4日の案件や在宅リモート案件も。優秀なコンサルタント陣。案件に参画後もしっかりサポート。豊富な案件量フリーランス向けに特化し、業界屈指の案件量を誇ります!週3〜4日の案件や、在宅リモート案件もありますし、その他あらゆる希望をしっかりお伝えください。最適な案件のご紹介をさせていただきます。技術に疎く、開発の希望を伝えても響かないエージェント・・・嫌ですよね。アルマサーチにはそのような者は一切おりません!さらに独立にまつわる税金や保険関係に詳しいスタッフが徹底的にサポートさせていただきます。案件に参画後もしっかりサポート常駐先が決まった瞬間に、一度も連絡が取れなくなるエージェント・・・いますよね?アルマサーチでは、そのようなことは一切ありません!常に電話やメールは即対応しますし、月に1度のランチミーティングなどから現場の状況を細かくヒアリングし、就業環境改善に尽力いたします。【PMに聞きました】カオスなプロジェクトを乗り切るタスク管理術Swiftのoptional型を使いこなすための7つのポイントblenderで作ったオブジェクトをUnityで組み込んでみようPHPで$_GETを使ってフォームから値を取得しよう編集部おすすめ記事Javaでenumを使って出来ることと使い方をまとめましたLinuxとは?初心者でもわかるLinuxの使い方など入門まとめ!Pythonでできることとは?人工知能で強みを発揮!Rubyを使ってやりたいことから逆引きで使える機能を解説しますPHPで変数の型を取得するには?この記事を読んだ人はこんな記事を読んでいますフリーランスはタスク管理が命。エンジニアが使うタスク管理ツー...フリーランスエンジニアの食事やカフェ代が経費になるか、税理士...HEROKUの仕組みから実際にサービスを公開するまでを解説します。