Xcode
- 2021/08 現在 App Store からインストールできる安定版の最新は v12.5.1、Apple のサイトからならベータ版の Xcode 13 もインストール可能
- Xcode 13 から vim mode が使える
- フォーマッタがない、一応インデントの揃えだけ ctrl+i でできる
- プロジェクト作るとプロダクト名(= プロジェクトルートのディレクトリ名)がそのままエントリーポイントのクラス名になるので、パスカルケースで書かないといけない
- playground でピュアな Swift コードの実行もできる
Swift
- var が変数、let が定数!js と紛らわしい!
- class と struct という類似概念があるが基本的には struct を使用することが推奨されている
- class と struct の違いは値が渡される時に struct は常にコピーされる(値渡し)が、それに対して class は参照が渡されること
- class は明示的に参照を渡して保持するデータの一意性を担保する必要がある場合や Objective-C との互換性が必要な場合などにのみ使用すべき
- See. https://developer.apple.com/documentation/swift/choosing_between_structures_and_classes#overview
- protocol は他言語でいうインターフェース
- ドットアクセスから始まるやつは Implicit Member Expression って名前で、型メンバーへのアクセス時に型推論で暗黙的にレシーバの型が決定できるなら型名を省略できるというやつ
- where は generics に制約(条件)をつけるやつ
- rust や kotlin にもある
参考
- Xcode Help
- Xcode | Apple Developer Documentation
- Xcode - Videos - Apple Developer
- A Swift Tour — The Swift Programming Language (Swift 5.5)
- Swift の言語仕様がまとまってる、Xcode の playground で実行しながらやると良さそう
- Swift Tour の日本語版(v5.4 だけど)
- Swift.org - Swift Extension for Visual Studio Code
- server side swift 書く時に vscode で書けるようにするやつ
- SwiftUI Tutorials | Apple Developer Documentation
- Introduction to SwiftUI - WWDC20 - Videos - Apple Developer
- サンドイッチのアプリ作る動画、めっちゃいい
- ミクシィのiOS新卒研修資料を公開しました - mixi developers
- GitHub で Star の多い Swift プロジェクト
- Swift Playgrounds - Apple(日本)
- 子どもにやらせたい