iOS

Swiftの配列、辞書関連メソッドの基本

投稿日:2017年6月9日 更新日:

はじめに

普段はRubyやPHPを学習しておりますが、少しSwiftの配列、ハッシュ(辞書)型のメソッドを教えていただきました。
せっかくなので記事にしたいと思います。

同じような境遇(あまりアプリ側に触れない)の方に、「へ〜、そうなんだ」と思ってもらえたら嬉しいです。
本日取り上げるのは、Ruby on Railsで馴染み深いメソッドのSwift版になります。

配列(Array)

まずは配列です。
例として、下記を使用します。

filter

クロージャで指定した条件を満たす、新しい配列を返却します。

例として、2の倍数を取得する処理を記述します。

上記のようにクロージャを渡すのですが、第一引数に $0 でアクセスでき、下記のように簡略にすることもできます。

map

配列の1つ1つにクロージャで指定した処理を行った配列の結果を返却します。

例として、1つ1つの要素を2倍にする処理を記述します。

簡略式も下記に記載します。

reduce

要素のたたみ込みをするためのメソッドです。要素をまとめて一つにする場合などで利用できます。

例として、要素の合計値を取得する処理を記述します。

簡略式も下記に記載します。

辞書(Dictionary)

辞書に関しても上記の filtermapreduce のメソッドは使えます。簡略式ですが、こちらも記載しておきます。

まずは、例で操作対象となる辞書を宣言しておきます。

filter

Dictionaryのため、順序保証がないのと、返却値はタプルの配列になっています。

map

こちらもタプルとしています。

ただ、辞書で返却したい場合が多いと思います。その場合は、次項の reduce のやり方がオススメです。

reduce

上記で、注意点としては、一度 $0varDict 変数に代入しているところです。これは、 $0イミュータブルな変数だからです。

そのため、下記ではエラーとなります。

さいごに

いかがでしたか?

Ruby on Railsではおなじみのメソッドですが、少しSwiftならではの制約があります。

ただ、とても可読性が高く、便利なメソッドではないでしょうか?

blog-page_footer_336




blog-page_footer_336




-iOS
-

執筆者:

免責事項

このブログは、記事上部に記載のある投稿日時点の一般的な情報を提供するものであり、投資等の勧誘・法的・税務上の助言を提供するものではありません。仮想通貨の投資・損益計算は複雑であり、個々の取引状況や法律の変更によって異なる可能性があります。ブログに記載された情報は参考程度のものであり、特定の状況に基づいた行動の決定には専門家の助言を求めることをお勧めします。当ブログの情報に基づいた行動に関連して生じた損失やリスクについて、筆者は責任を負いかねます。最新の法律や税務情報を確認し、必要に応じて専門家に相談することをお勧めします。


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

[iOS15]StoreKit2で課金処理をより簡単に

1 はじめに2 StoreKit2になって主に変更された箇所3 実装3.1 Product(課金アイテム)の取得方法3.2 Product(課金アイテム)の購入方法3.3 Product(課金アイテム ...

iOS13で発生するUICollectionviewのカクつきを解消する

iOS13でCollectionViewの動作が少し変わりました。 Cellの入れ替え時にデータの更新を行う際にはどのように作成すれば良いか、関係のあるデリゲートを含め説明させていただいております。 おまけとして、Xcode11.3対応を行った際に対応した内容を簡単にですが記述しております。Xcode11対応をされる方の参考になればと思います。

swift

SwiftでのDateクラスの煩わしさから解放されるSwiftDateを使ってみた

1 はじめに2 準備3 使ってみよう3.1 現在の取得3.2 パラメータの取得3.3 パラメータの操作3.4 文字列変換3.5 Dateの比較3.6 判定メソッド4 さいごに はじめに こんにちは、n ...

swift

[Swift]CSVを読み込みRealmに保存してみる

1 はじめに1.1 前提条件2 準備3 実装4 さいごに はじめに こんにちは、nukkyです。 今回はDBにプリセットなどを用意する際にCSVを使ってRealmで保存して見たいと思います。 前提条件 ...

swift

[Swift]Schemaを使用してURLの接続先を切り替える

1 はじめに2 XCodeのBuildConfigurationとは3 スキーマとは4 スキーマの追加方法5 スキーマの設定変更6 開発と本番で異なる通信の接続先を設定する7 さいごに はじめに はじ ...

フォロー

blog-page_side_responsive

2017年6月
 123
45678910
11121314151617
18192021222324
252627282930  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。