- バックエンド / リーダー候補
- PdM
- Webエンジニア(シニア)
- Other occupations (18)
- Development
- Business
SwiftUI Bookはゲットできましたか?もっとSwiftUIについて知りたい方、勉強会へ!#iOSDC after report
こんにちは!
Wantedlyでエンジニア採用や技術カンファレンス企画を担当している竹内瑞季( @amanda__mt )です。
今年もiOSの祭典、iOSDC Japan 2019 が大盛況でしたね!Wantedlyではプラチナスポンサーとして協賛致しました!
毎回カンファレンスに協賛する時に、今回はどのような体験にするか、都度エンジニアと話して計画しています。iOSDC 2019 では豪華ノベルティとしてSwiftUI Bookプレゼント、そしてSwiftUIの知見を深めたい人向けに勉強会を企画しました。
SwiftUI Bookはエンジニアのパッションが入りすぎて、まさかの68ページとなりました(ノベルティの域を超えている…)
それでは今回の企画を簡単に振り返ってみましょう!
Swiftクイズに正解したらSwiftUI Bookをプレゼント
多くのiOSエンジニアが参加するiOSDCで参加者に楽しんでいただけるようにSwiftクイズを作りました。このクイズに正解した方には、この日のために執筆した"SwiftUI Book" をプレゼント!参加者の皆さんはクイズに正解してSwiftUI Bookをゲットできましたでしょうか。
Swift クイズについて
このクイズは全4問で、Swiftに関する問題からUIKitに関する問題まで幅広い問題をとり扱いました。実際にクイズにチャレンジした方、ありがとうございます!楽しんでいただけましたでしょうか。クイズの内容と正解をご紹介します。
1.は循環参照に関する問題、2.はユニコードとStringの知識の問題、3.はUIKitの座標系の問題、4.はdidSetの仕様に関する問題でした。正解は1.がd、2.がb、3.がbまたはa(問題文の不備によりどちらでも正解)、4.がbという結果になりました。
結構難易度のある問題設定で、初回正答率は20%でした。問1.がもっとも難しく解説してほしいと言われることが多かったので簡単に解説したいと思います。
問1.は print 文が deinit の中に書かれているので deinit が呼ばれるかどうかが肝になっています。
S のインスタンスを生成してローカル変数に保持し、直後に ローカル変数に nil を代入しているので一見 deinit が呼ばれるように見えます。しかし、クラスS の init 内で クラスB のインスタンスがもつ closure
プロパティ に Sインスタンス自身のaction関数の参照を渡していて、これが強参照しています。すると S -> B, B -> S とお互いのプロパティでお互いの参照を持ち合う形になるので 最後のステップ で nil が代入されても参照カウントが0になりません。
というわけで deinit は呼ばれず、答えは 4. 出力なし となります。
SwiftUI Bookについて
Wantedlyは会社の有志メンバーで技術書典にてTECHBOOKを販売しています。今回はその延長でSwiftUI Editionとして社内のiOSチームで執筆しました。SwiftUIはまだBetaバージョンですが、今後1年でプロダクションに投入できるようにWantedlyではいち早くキャッチアップしています。
SwiftUI 勉強会を開催します
SwiftUI Bookを執筆したメンバーを中心にSwiftUIの勉強会を開催します。Wantedlyでは毎週 iOS チームで集まり勉強会を開催していますが、その延長線上として外部の方も参加してもらいSwiftUIについて勉強する回を実施したいと思います。
日程
09/18 (水) 19:30 - 21:30 レイアウト、ナビゲーションとプレゼンテーション、状態管理
09/25 (水) 19:30 - 21:30 アニメーション、UIKitとの統合、Previewの使い方
内容
前半: Wantedly iOS エンジニアが各トピックの重要ポイントを解説
後半: 参加者でのディスカッション
場所
Wantedly, Inc.
東京都港区白金台5-12-7 MG白金台ビル4階
東京メトロ南北線/都営地下鉄三田線 白金台駅から約7分
参加方法
「話を聞きに行きたいボタン」よりご応募ください。会場の都合で参加人数には限りがあります。
応募はコチラから
応募多数の場合は抽選となります。参加者には9/13までにご連絡します。ご応募まってます!