Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
swift/ios
アノテーション
`@IBInspectable` : カスタムコンポーネントの描画をIB編集画面にリアルタイムで反映させる。プロパティに設定するとUIで編集可能になる(UnityのSerializeFieldみたいなの)
`@objc` : swiftのコードをobjcから呼べるようにするためのもの
`@testable` : internalにアクセス可能になる(privateは不可)
クラス
`required` : 継承必須にする
`convenience` : 他のイニシャライザを呼ぶ場合に使う
`init` : コンストラクタ
`init?` にするとコンストラクタが失敗する場合(nilを返す)に適応する
変数
`guard ... else { }` ... がfalseの場合にelseを実行
`defer` スコープアウトする時に実行される(Goと同じ)
Optional
`!` 強制unwrapする
`as!` 指定型に確定で変換する
チュートリアルの内容の最新バージョンXcodeとの違い
`index(of:)` -> `firstIndex(of:)` 複数マッチする場合でも最初のものだけ返すからってこと?
テストコード中 `Meal.init` -> `FoodTracker.Meal.init` 暗黙の名前空間解決してくれなくなったっぽい?
`NSKeyedArchiver.archiveRootObject` -> `NSKeyedArchiver.archivedData(withRootObject`
仕組みが違う
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment