【30日コーディング 6日目】6/30

今日やったこと

Udemy iOS12コース

  • クラス周り
  • optionalとか

ポートフォリオ作成

今日学んだこと

【Swift】designate Initializeとconvenience Initialize

クラスの初期化を行う時に値を必ず入れなければいけないことを「designate Initialize」という。 日本語訳は指示付きの初期化。 対して、convenience Initializeは簡易的な初期化。 必ず呼び出す必要はない初期化。

qiita.com

【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 {
}

違いは下記の記事を参照

qiita.com

感想