プロトコル

プロトコルとは、クラスが実装しなければならないプロパティやメソッドを定義するものである。 例 protocol culcProtocol { var getVol: Int { get } func plus() func minus() } // 上記で定義したプロトコルをクラス定義する様に記述する class culc: culc…

extensionについて

extension(クラス拡張)とは、既存のクラスに対して、Computedプロパティやメソッド等を追加することができるものである。 使用例 import UIKit // extension ここではUIColorを拡張する extension UIColor { class func originalColor() -> UIColor { return…

Computed プロパティについて

使用例 // Stored プロパティ var 変数名: 型 // Computed プロパティ var 変数名: 型 { get { // return } set { // } } 使い方 定数や変数で定義するプロパティをStoredプロパティと呼ぶのに対して、関数を介して値をやりとりするプロパティをComputedプロ…

コンビニエンスイニシャライザについて

クラスは複数のイニシャライザを持てることができる。また、その様な場合、一方のイニシャライザから別のイニシャライザを呼び出すことができる。これがコンビニエンスイニシャライザ。 例 class TestClass { let name: String let msg: String // 指定イニ…

Genericsについて簡単に

今回はGenericsについて簡単にまとめてみた。色々解説するよりも、実例を見てもらうのが一番分かりやすいと思う。 文法 func 関数名<任意の型名>() { } 例 例えば、異なる型の値を受け取って返す処理を書く時に、下記のような冗長な記述になってしまう。これ…

switch文のfallthroughについて

switch文ではレンジ演算子やタプル等を用いることで色々な条件分岐が作成できる。 今回はfallthroughキーワードについて少しハマったのでこれについて書く。fallthroughとは、あるcaseでの処理を実行してもswitch文を抜けず、次のcaseでの処理へ進ませるキー…

演算子

今ハマっているゲームがあるのだが、その情報を管理するアプリがStoreには無い。誰も作ってくれなさそうなので、自分でもやってみようかと思いアプリ開発の勉強を始めた。 ここにはその備忘録として、その過程を残していこうと思う。 今は技術書を最初から読…