【30日コーディング 6日目】6/30
今日やったこと
Udemy iOS12コース
- クラス周り
- optionalとか
ポートフォリオ作成
今日学んだこと
【Swift】designate Initializeとconvenience Initialize
クラスの初期化を行う時に値を必ず入れなければいけないことを「designate Initialize」という。 日本語訳は指示付きの初期化。 対して、convenience Initializeは簡易的な初期化。 必ず呼び出す必要はない初期化。
【Swift】Methodとfunctionの違い
Methodとは、arcforrandomなど単発でできるもの。 functionとは、Classに紐付いたもの。
【Swift】Superクラス
superクラスとは、あるクラスを継承した時にその親となるクラスの別名。 superクラスのメソッドは上書きすることができる。(override) また、superクラスのメソッドを呼び出す時は、super.method()のように呼び出す。
疑問 多数のクラスの継承があった時、superに含まれるのは全てなのかな??
【Swift】Optional型
swiftはnilを許容しない。
var str: String
この記述を許さないので、明示的にnilを許可する必要がある。
var str: String?
この時気をつけることは、Optional型にした値を使いたい場合は必ずそれを剥がす必要がある。
var str: String? print(str!)
この時、strが入っていないとアプリが落ちてしまうので必要なのが、nilチェック。俗に言うOptional Binding。
// let構文 if let str = str { } // let guard構文 guard let str = str else { }
違いは下記の記事を参照