jarinosuke blog

最近読んだもの1 - Actor, @MainActor, [weak self] など

  • How @MainActor works
    • @MainActor property wrapper がどういう動きになっているのか、スクラッチで実際に作ってみている記事
    • job と executor の2つくらいで、かなりシンプルに作られていることを知れた
  • Weak Self -- Closure Rules of Thumb
    • [weak self] 時の escaping closure の扱いについて
    • よく言われるやつだけど、どれにも落とし穴があるので注意という良い記事だった
  • What are Swift Concurrency’s task local values?
    • Task.init {} を使っているとたまにエラーになる Task local value の話
    • @TaskLocal property wrapper を使えば、task のスコープ内でのみ有効なプロパティが定義できる
      • それを Task を識別できる id などにすれば、非同期処理のデバッグもしやすい
  • An introduction to synchronizing access with Swift’s Actors
    • DateFormatter のキャッシュを例にして、スレッド跨いだアクセスでクラッシュさせながら GCD、Actor とステップに分けて分かりやすく解説している
  • Thoughts on Combine in an async/await world
    • async/await が出た当時の記事
    • Combine との差別化や意図などが書かれている
    • 記事にも書かれている通り、Combine は値やイベントの同期や操作が目的で async/await が出ても無くならないとは思う
      • かつ Combine は SwiftUI に密に関わっているので