水夫と戯れて

Appleの開発言語Swiftのことを書く。公開されている範囲内で書いています。文章に「?」が含まれているところはよく理解していないところ。

プロトコル

目次>

文法
protocol InheritingProtocol: SomeProtocol, AnotherProtocol {
    //プロトコル定義
}
protocol PrettyTextRepresentable: TextRepresentable {
    func asPrettyText() -> String
}
必要とされるプロパティ
必要とされるメソッド
タイププロトコル
デリゲーション

エクステンションで適合プロトコルを追加する

conformance(適合)

エクステンションでプロトコルアダプションを決定する

プロトコルタイプのコレクション

プロトコルの継承

エクステンション

extension SnakesAndLadders: PrettyTextRepresentable {
    func asPrettyText() -> String {
        var output = asText() + ":\n"
        for index in 1...finalSquare {
            switch board[index] {
            case let ladder where ladder > 0:
                output += "▲ "
            case let snake where snake < 0:
                output += "▼ "
            default:
                output += "○ "
            }
        }
        return output
    }
}

プリミティブタイプ

目次>

数値を変数にセットするとき、カンマの代わりに_を使って桁区切りにすることができる。 let count = 3_000_000_000_000

数値を文字列に

let age = response.toInt()

|C Type|Swift Type| |bool|CBool| |char, signed char|CChar| unsigned char CUnsignedChar short CShort unsigned short CUnsignedShort int CInt unsigned int CUnsignedInt long CLong unsigned long CUnsignedLong long long CLongLong unsigned long long CUnsignedLongLong wchar_t CWideChar char16_t CChar16 char32_t CChar32 float CFloat double CDouble