技術ブログ

プログラミング、IT関連の記事中心

Swift

処理の共通化【Swift】

◾️はじめに アプリケーションの開発を行っていると、だんだんと同じ処理を様々なクラス内で書くことが多くなってきます。そのせいで、ソースコードの量が多くなり見返したときに読みづらいソースコードになってしまいます。※このせいでバグの調査が難航した…

キーボードに閉じるボタンを追加(UITextField,UITextView)【Swift】

■はじめに iOSのアプリを開発していると、UITextField、UITextViewに文字を入力した後にキーボードが閉じられないという問題に直面している人は多いでしょう。iOSの場合は、キーボードを閉じるためにも実装が必要になります。 ここでは、キーボードの上に「…

JSONの操作【Swift】

■はじめに APIなどを使用する上で、JSONのデータをよく利用する。ここでは、このJSON型のデータをSwiftで利用しやすいようにNSDictionary型へ変換する方法を記載する。 ◾️JSONデータをString型からNSDictionary型へ変換 APIのレスポンスデータをString型で取…

Realm【Swift】

■はじめに データを永続的に保存する方法で、数々の方法があります。以下に一例を挙げます。・UserDefaults・CoreData・SQLite・Realm ここでは、「Realm」に関して記載します。 ◾️Realm(レルム)とは Realm(レルム)とは、クロスプラットフォームに対応し…

アラートダイアログ【Swift】

■はじめに アプリを作成していると、ダイアログを表示したい場合がある。このダイアログには複数種類があるが、ここでは以下の種類のダイアログを表示する方法を記載します。 ・画面中央に表示される2択のダイアログ(削除の確認などでよく見ますね。)・画…

SQLite【Swift】

■はじめに データを永続的に保存する方法で、数々の方法があります。以下に一例を挙げます。・UserDefaults・CoreData・SQLite・Realm ここでは、「SQLite」に関して記載します。※SQL文に関しては、簡単なサンプルや記載方法は記載するが細かい部分は別途調…

クラス継承【Swift】

◾️クラス継承 クラス継承とは、あるクラスのプロパティ、メソッドを引き継ぎながら新しいクラスを作成する事である。継承する親のクラスの事をスーパークラス、スーパークラスを継承した子クラスの事をサブクラスという。サブクラスはスーパークラスの全ての…

イニシャライザ【Swift】

◾️イニシャライザ イニシャライザとは、クラスのインスタンス生成時に必ず実行されるメソッドの事である。以下の様にイニシャライザの定義を行う (記載ルール) class クラス名 { プロパティ メソッド init(){ // イニシャライザの処理 } } (例) class Cl…

オーバーライド【Swift】

◾️オーバーライド クラスを継承したが、あるメソッドは、スーパークラスのメソッドではなく、サブクラスのメソッドを使用したい場合がある。そのようなときは、以下のコードのようにoverrideを先頭に書いてメソッドを定義することで、スーパークラスの関数を…

アクセス修飾子【Swift】

◾️アクセス修飾子 アクセス修飾子とは、クラスやメソッド、プロパティなどがどこからアクセス可能であるかを設定する修飾子である。 Swiftのアクセス修飾子には以下がある。 【open】 モジュール外からもアクセスできる一番ゆるいアクセス修飾子である。 【p…

クラス,インスタンス【Swift】

◾️クラス,インスタンス クラスとは、プロパティ(データ)とメソッド(操作)を集めて1つにまとめたコードの事である。ただし、クラスはインスタンスという物を生成して始めてオブジェクトの役割を担うことができる。言わば、クラスは設計図、インスタンスは…

関数【Swift】

◾️関数 関数とは、特定の処理をする小分けにされたプログラムの事である。プログラムの中で何度も繰り返す一連の処理をそのまま記述すると、似たようなコードが散在してソースが見づらくなり、修正が必要になった時に時間がかかってしまう。そのような時は、…

戻り値【Swift】

◾️戻り値 戻り値とは、関数を呼び出したときに関数から返ってくる値の事である。以下のコードように関数の引数のあとに「-> 戻り値の型」を記述する事で値を返す関数を定義する事ができる。処理の中で「return 値」と記述すると関数の処理が終了し、呼び元に…

オプショナル型の「?」「!」の違い【Swift】

◾️オプショナル型の「?」「!」の違い オプショナル型の宣言で、型の後ろに「?」「!」が付いているが、この違いは以下である。「?」:nilを代入する事を許す。(オプショナル型)「!」:nilを代入する事を許し、変数を使用する時に強制的アンラップする…

オーバーロード【Swift】

◾️オーバーロード オーバーロードとは、関数名は同じだが、引数や戻り値が違う関数を定義する事である。以下に一例を記載する。(以下の例では、引数の型が相違する為、エラーにならない) (例) func funcA(sample:String){ // 関数の中の処理 } func func…

引数【Swift】

◾️引数 引数(ひきすう)とは、関数に値を渡す方法である。※引数は「,」で区切る事で複数指定する事が可能である。 以下の様に記載する。 (記載ルール) func 関数名(関数内で使用する変数名:データ型, 、、、){ // 関数の中の処理 } (例) func kansu(str…

Forced Unwrapping (強制的アンラップ)【Swift】

◾️Forced Unwrapping (強制的アンラップ) Forced Unwrapping(強制的アンラップ)はオプショナル型を強制的にアンラップする方法である。オプショナル型の変数の中にどんな値が入っていても関係なく、その値を取り出す。※注意点:アンラップする対象のオプショ…

オプショナル(Optional)型【Swift】

◾️オプショナル(Optional)型 「オプショナル型」とは、変数にnilの代入を許す型の事である。※「nil」とはデータが無い状態を表す。 デフォルトではnilの代入を許さない「非オプショナル型」である。明示的にオプショナル型の宣言を行う事で、nilの代入を許…

Optional Chaining (オプショナルチェイニング)【Swift】

◾️Optional Chaining (オプショナルチェイニング) オプショナルチェイニングもオプショナル型の変数の中身がnilのときに安全にプログラムを実行するための機能である。オプショナルチェイニングはオプショナル型の変数に続けてプロパティを取得したり、メソ…

比較演算子・論理演算子【Swift】

◾️比較演算子 比較演算子では主に2つ値を比較して、比較結果によって条件が真(true)または偽(false)を返す方法である。文字列同士の比較の場合でも、この比較演算子を使用する。(他の言語では、文字列同士の比較で比較演算子が使用できない場合がある。…

Optional Binding (オプショナルバインディング)【Swift】

◾️Optional Binding (オプショナルバインディング) 強制的アンラップはオプショナル型の変数を中身の値に関係なくアンラップした。そのため変数にnilが入ってしまうとアプリケーションが落ちてしまうという問題がある。 この問題を解決するアンラップの方法…

while,repeat while文【Swift】

◾️while 「while」文とは条件が真の場合に処理を繰り返すループ処理である。指定した条件に達するまで、ずっとループを繰り返す場合などに使用する。※指定した条件に達する事がない場合、無限ループに陥る事がある為、注意が必要である。 (記載ルール) whi…

break・continue【Swift】

◾️break 「break」とはループ処理などを終了する事ができる構文である。記述方法は単純で、処理を終了させたい繰り返し処理の中に「break」と書くだけである。以下に一例を記載する。 (記載ルール)whileなどのループ処理の中で「break」を記載する。 (例…

switch文【Swift】

◾️switch文 switch文とは、条件分岐処理で使用される構文である。switch文は、if文と違い、変数や式の値をいくつか列挙して、それらの値にヒットしたときの処理を指定するというものである。※if-else-if文でも可能だが、冗長でバグが発生する可能性や、処理…

for in文【Swift】

◾️for in文 「for in」文とは条件が真の場合に処理を繰り返すループ処理である。指定した回数分、ループで処理を繰り返したい時などに使用する。 昇順ループの場合には、以下の様に記載する。 (記載ルール) for 変数 in 開始値 ..< 終了値 { // 処理 } (…

if文【Swift】

◾️if文 if文とは、条件分岐処理で使用される構文である。条件分岐とは、「〜の場合は〜をするが、〜の場合には〜をする。」という様に状況によって処理を変える方法である。 (記載ルール) if 条件式 { 条件式が真(true)の場合の処理 } (例) if 1 < 2 {…

配列のその他のプロパティ、便利な使用方法【Swift】

◾️配列のその他のプロパティ、便利な使用方法 以下によく使用する配列のプロパティと、便利な使用方法を記載する。 [配列の指定indexの要素を取得する] 配列の変数名[index番号] [最初の要素を取得する] 配列の変数名.first! [最後の要素を取得する] 配列の…

配列【Swift】

◾️配列 配列とは、複数のデータを1つの変数で管理できる入れ物の事である。データを入れるための箱が番号付きで並べられていて、その中にデータを入れていくイメージである。箱の中に入れたデータを差し替えたり、箱を追加、削除する事もできる。※「var(変…

辞書【Swift】

◾️辞書 辞書(ディクショナリ)とは、キーと値を1セットとした複数のデータを1つの変数で管理できる入れ物の事である。辞書は以下のコードのように[キー:値,キー:値,キー:値,キー:値, ...]で作る。キーと値の型を指定しなければ、型を混在して格納する事がで…

辞書のその他のプロパティ、便利な使用方法【Swift】

◾️辞書のその他のプロパティ、便利な使用方法 以下によく使用する辞書のプロパティと、便利な使用方法を記載する。 [辞書の要素を取得する] 辞書の変数名[キー]! [辞書の全ての要素を1つずつ取得する] for (キー変数, 値変数) in 辞書の変数名 { } [辞書のす…