Swift基本講座

extensionによるクラスの拡張

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
既存のクラスに新しい機能を追加する事ができる、Swift独自のextensionという機能について説明します。自作のクラスでも他人が作ったクラスでも拡張する事ができる、とても強力な機能です。
講師:
03:39

字幕

このレッスンでは swift の extension という機能による― クラスの拡張方法を説明します swift でプログラミングしている時に 自分が欲しい機能が目の前のクラスにない ということがよくあります そのような時に使うことができるのが extension という機能です このサンプルコードを見て下さい このサンプルコードの中には I have a strong ball point pen と書かれた複数の単語が入った 文字列があります 例えばこの単語を前後ひっくり返したい 後ろのほうから pen point ball strong a have I というふうに逆順に単語を並べ替えたい そのような機能がもし文字列に あったらいいのにと思った時に それを実現する方法を紹介します まず上の方に新しく extension を作成するために extension というキーワードを入力します この文字列が表されているのは string というクラスによって表されていますので extension の後ろには それを拡張するために stiring という型を指定します この string に対して新しい関数を 宣言したいということで ここに func のキーワードを使って reverseWords という extension の中の― 新しいメソッドを追加します 戻り値は文字列ですね ではこの中にこの reverseWords という 単語の順を並べ替える 実装を書いていきましょう この単語を並べ替える実装は まず文字列の中にある 複数の単語を空白文字を基準に分割する― ということをするために 自分自身にたいして compornentsSeparatedByString このメソッドを呼び出して 空白文字を基準に文字を分割する 単語を分割するということをします こうして取り出した Words に対して foundation で初めから用意されている 配列を逆準にするという― Reverse というメソッドを このように呼び出します これで単語が逆順になりますので この単語を1つ1つ取り出していって 文字列に直す という作業を最後に行ってやります for in 文を使って words という配列の中から 1つ1つ単語を取り出していって― 文字列に空白文字を1つずつ繋げて 最後にそれをリターンするという これでこの文字列を表す string クラスに対して 新しいメソッドを追加することができました こうして作成した この string の extension は どこでも使用することができますので このメッセージに対して この reversWords を呼び出してやると このように I have a strong ball point pen という この単語を並び替えた― 逆順に並び替えたものが このように 取得できていることがわかります この上のほうを見ると Playground の中でどのように これが実行されて どのように処理されているのか ということが非常にわかりやすく― 見て取れるのではないか と思います このように swift では既存のクラスの中に 用意されていない機能であっても 自分で後からどんどん 付け足していくことができる― extension という機能が用意されています このレッスンでは extension の 使い方について説明しました

Swift基本講座

このコースでは、iOSやOS X用のアプリをとても簡単に開発することができるプログラミング言語Swiftについて解説します。if文やfor文などの制御命令の使い方から変数や定数、配列や辞書の使い方まで基本的なSwiftプログラミングの知識をPlayground上で説明します。Swiftプログラミングの知識を効率的に学ぶのに、このコースをぜひお役立てください。

2時間59分 (35 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 2,990
発売日:2015年09月23日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。