Protocols

昨日に引き続き https://docs.swift.org/swift-book/LanguageGuide/Protocols.html を読む。 protocol は 他の宣言の内側にネストできない extension と同じファイルスコープ、なのにエラーメッセージが違うのはなぜだ プロパティはインスタンスと型を要求で…

Extensions

昨日に引き続き https://docs.swift.org/swift-book/LanguageGuide/Extensions.html を読む。 オリジナルソースコードにアクセスできなくても機能性を追加できる(遡及モデリング) extension を宣言できるのはファイルスコープだけ extensionでプロトコル適合…

Nested Types

昨日に引き続き https://docs.swift.org/swift-book/LanguageGuide/NestedTypes.html を読む。 Swiftでは型の入れ子ができる 特定の型の中だけで使う列挙型とか、そいういう目的で使う 列挙型、クラス、構造体のどれでも 型は必要なだけいくらでも深くネスト…

Type Casting

昨日に引き続き https://docs.swift.org/swift-book/LanguageGuide/TypeCasting.html を読む。 Swiftの型キャストは isとas演算子 protocolをconformしているかどうかにも使える 型検査演算子 is item is Movie 「subclassかどうか」だけど構造体・列挙型で…

Error Handling

昨日に引き続き https://docs.swift.org/swift-book/LanguageGuide/ErrorHandling.html を読む。 Swiftでは、エラーは、Errorプロトコルに準拠した型の値として表される Swiftの列挙型はエラー状態に関連したグループをモデル化するのに特に適している Swift…

Optional Chaining

昨日に引き続き https://docs.swift.org/swift-book/LanguageGuide/OptionalChaining.html を読む。 強制アンラッピングの代替としてのオプショナル連鎖 オプショナル値の後に ? をつけて オプショナル値がnilのとき、オプショナル連鎖は優雅に失敗する、 強…

Deinitialization

今日のは少ない 昨日に引き続き https://docs.swift.org/swift-book/LanguageGuide/Deinitialization.html を読む。 Swiftのメモリ管理はARC deinitializer はクラスのインスタンスがメモリから解除される直前に呼び出される deinit キーワードをつかってini…

Initialization

訳はてきとう 前回に引き続き https://docs.swift.org/swift-book/LanguageGuide/Initialization.html を読む。 格納型プロパティは、初期化子のなかで値を設定するか、プロパティの宣言に初期値を書く 初期化子の中で値を設定するか、初期値を宣言したとき…

Inheritance

前回に引き続き https://docs.swift.org/swift-book/LanguageGuide/Inheritance.html を読む。 何からも継承してないクラスはベースクラス Swiftのクラスはユニバーサル基底クラスからの継承ってのは無い クラスメソッド、インスタンスメソッド、クラスプロ…

Subscripts

昨日に引き続き https://docs.swift.org/swift-book/LanguageGuide/Subscripts.html を読む。 クラス、構造体、列挙型は subscript を定義できる subscript(index: Int) -> String { get{ return …} set(newValue){〜} } setのデフォルトパラメータ名はnewVa…

Methods

昨日に引き続き https://docs.swift.org/swift-book/LanguageGuide/Methods.html を読む。 構造体と列挙型にメソッドを定義できることがCやObjective-Cとの大きな違い どの型のインスタンスにも self と呼ばれる暗黙のプロパティがある 構造体と列挙型ではmu…

Properties

age++ //=> Unary operator '++' cannot be applied to an operand of type '@lvalue Int' 昨日に引き続き https://docs.swift.org/swift-book/LanguageGuide/Properties.html を読む。 structのインスタンスがletならプロパティがvarでも値変更できない=>コ…

Classes and Structures

光速に近づくと時間がゆっくり進むらしい。 つまり飛行機や新幹線の中で仕事をすると時間に余裕が生まれる。 昨日に引き続き https://docs.swift.org/swift-book/LanguageGuide/ClassesAndStructures.html を読む。 一般的なガイドラインとして、構造体や列…

Enumerations

enum 吉凶 { case 大吉, 吉, 中吉, 小吉, 末吉, 凶 } 前回に続いて https://docs.swift.org/swift-book/LanguageGuide/Enumerations.html を読んでいる。 メモ 列挙型の名前には複数形より単数形を与えよ 型推論できるときは簡略形で書ける let x: Planet = …

Closures

lambda を「らんびだ」と呼んでいた人を思い出す。 前回に引き続いて https://docs.swift.org/swift-book/LanguageGuide/Closures.html を読んでいる。 気になった事 グローバル関数とネストされた関数はクロージャの特別なやつ 一般的な形式 reversedNames …

Functions

土日のほうがやることが多いのはなぜか 前回に引き続いて https://docs.swift.org/swift-book/LanguageGuide/Functions.html を読んでいる。 気になった事 Void 型の関数は空のタプルを返す 関数が返した値を使わない時 _ = f() タプルのオプショナル型 (Int…

Control Flow

個人的には else clause は else節、 where clause は where句 と脳内和訳するので なんかもやもやする。 昨日に引き続き https://docs.swift.org/swift-book/LanguageGuide/ControlFlow.html を読んでいる。 新たに得た知見 繰り返す回数だけ必要な時 for _…

Collection Types

プログラミングの勉強は英語が9割 昨日に引き続き https://docs.swift.org/swift-book/LanguageGuide/CollectionTypes.html を読んでいる。 心に引っかかったこと Array 完全形 Array<Type> よりも 簡略形 [Type] のほうが好ましい 値と個数で初期化 Array(repeati</type>…

Strings and Characters

昨日に引き続いて Strings and Characters https://docs.swift.org/swift-book/LanguageGuide/StringsAndCharacters.html を読んでいる。 世の中知らんことが多い。 新しく知ったこと 複数行の文字列リテラルは文字列の開始と終了のどちらも改行を含まない …

Basic Operators

昨日に引き続いて https://docs.swift.org/swift-book/LanguageGuide/BasicOperators.html を読んでいる。 新しく知ったこと 代入演算子=はCと違って値は生み出さない。 c = (a = b) はエラー 算術演算子はオーバーフローしない。リテラルはコンパイルエラー…

The Basics

雑誌名ではない。 Swift LANGUAGE GUIDE の The Basics https://docs.swift.org/swift-book/LanguageGuide/TheBasics.html を読んだ。英語を読むのはしんどい。Google翻訳が有る時代でよかった。 新たに得た知見 Type Annotation … コロン … : 〜 は "… of t…

迅速な旅

デザインパターンがざっと済んだので、 THE SWIFT PROGRAMMING LANGUAGE の A Swift Tour https://docs.swift.org/swift-book/GuidedTour/GuidedTour.html を読んでいる。こっちを先にやるべきだった。反省はしているが後悔はしてない。 コードをMyFirstSwif…

Like a Version

Xcodeのバージョン $ xcodebuild -version Xcode 9.4.1 Build version 9F2000 Swiftのバージョン $ swift --version Apple Swift version 4.1.2 (swiftlang-902.0.54 clang-902.0.39.2) Target: x86_64-apple-darwin17.6.0 バージョンが好き

泥濘

ここ2か月ほどでいろいろあって、 いろいろというのは会社辞めて、日曜大工して、MacBook買って、プリン作って…などとしてたのだけど、 だいぶ落ち着いてきたので何かBlogでも書こうかなと思った。 そろそろ将来のために何かinputしたいけど、Blogにoutputす…