LFK mobile DevPods

Presenting the latest mobile development and life of Engineers in LY Corporation and its group companies.

  • shinzan
Published: 2022/02/28 630 views

About this episode

Swift Taskのイニシャライザとselfの関係

概要

Taskのイニシャライザの引数に渡すクロージャ内では、これまでのクロージャとは異なり、classなどの参照型でもselfを明示的に記載する必要がない。Taskのイニシャライザはどういう仕組みになっているのか、また使用する際に気をつけるべき点などを改めて考えてみる。

詳細

Swift Taskのイニシャライザとselfの関係

タイムライン

  • オープニング (00:00 ~)
  • 今回のテーマ (01:24 ~)
  • ドキュメント上のTaskのイニシャライザの定義 (01:51 ~)
  • 実装から見たTaskのイニシャライザの定義 (04:09 ~)
  • クロージャ内のself (06:42 ~)
  • クロージャのselfキャプチャの問題(メモリリーク) (07:03 ~)
  • クロージャのselfキャプチャの問題(インタンスの解放遅延) (10:14 ~)
  • Taskのイニシャライザのクロージャ内でなぜselfがいらないのか? (12:05 ~)
  • Taskのイニシャライザとインタンスの解放遅延 (12:50 ~)
  • awaitとselfの解放の関係 (13:25 ~)
  • self以外の処理はキャンセルが必要 (14:44 ~)
  • Taskを使ってメモリリークを引き起こす可能性 (16:34 ~)
  • エンディング (18:00 ~)

感想等は #LFK_DEVPODS へ!

10秒前へ 10秒次へ