---
title: #hakataswift 教えて！ Swift Concurrency 〜
tags:  #hakata.swift #swift concurrency  
author: [熊谷友宏](https://www.docswell.com/user/es_kumagai)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/4JQ6W9NRJP.jpg?width=480
description: 2025/7/19 の HAKATA.swift feat. Japan-\(region).swift #1 で発表したスライドです。  Swift Concurrency がコードを複雑化している場面をたびたび見るような気がして、お強い人たちの集まる HAKATA.swift でお尋ねしてみることにしてみました。大半がライブコーディングだった都合でスライドの中身は激薄ですけれど、とりあえず要所については記載してあります。
published: July 19, 25
canonical: https://www.docswell.com/s/es_kumagai/K4JV96-2025-07-19-145758
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/4JQ6W9NRJP.jpg)

おしえて！
Swift Concurrency
熊谷友宏
@es̲kumagai
2025/07/19 HAKATA.swift feat. Japan-\(region).swift #1


# Page. 2

![Page Image](https://bcdn.docswell.com/page/K744KXGQ71.jpg)

▶︎
▶︎
▶︎
▶︎
熊谷 友宏
Tomohiro Kumagai
Swift 言語が好み
小さな勉強会を開催（2014年9月27日より）
株式会社ゆめみさんで
熊谷さんのやさしい Swift 勉強会 開催 &amp; コードレビュー
•
いろんな人のレビューをしたい機運が高まり中
•
言語仕様を学ぶことの効果の高さを実感中
プログラミングの楽しさを伝えていきたい


# Page. 3

![Page Image](https://bcdn.docswell.com/page/LJ14XNDLJG.jpg)

Swift Concurrency について
聞きたいことがある


# Page. 4

![Page Image](https://bcdn.docswell.com/page/GJWXN4YQE2.jpg)

▶︎
▶︎
背景
Migrating to Swift 6 の導入部分を読むことで
自分の Swift Concurrency への理解が進んできた
他者の見る機会が増えてきた中で、
Swift Concurrency が 制御を難しくさせている印象 を受けた


# Page. 5

![Page Image](https://bcdn.docswell.com/page/4EZ632X3E3.jpg)

まるで、あの頃のように
Objective-C
- atomicity c
m
l
u
2@
ITT
h
2
c
-‐‑‒2BS T M 35
RP RBN STBT PO Z O T K
2013/5/25
第４回 iphone̲dev̲jp 東京
iPhone/Mac 勉強会


# Page. 6

![Page Image](https://bcdn.docswell.com/page/Y762XV4ZEV.jpg)

並行処理が必要な場面って、限られてくるものなのでは
かつては、重たい処理がメインスレッドを邪魔しないため に
並列で処理 するくらいが主だった印象
そのほかは、なんだかんだで
メインスレッドで処理していた気がする
⋯
▶︎
▶︎
▶︎
違和感


# Page. 7

![Page Image](https://bcdn.docswell.com/page/G752XDQ974.jpg)

▶︎
そこで質問！
これから思い描くコードで問題なさそうか、
お強い顔ぶれの集まる HAKATA.swift でお尋ねしたい。
それにしても顔ぶれ、強すぎないか …！


# Page. 8

![Page Image](https://bcdn.docswell.com/page/9J24X8P57R.jpg)

▶︎
▶︎
そこで質問！
これから思い描くコードで問題なさそうか、
お強い顔ぶれの集まる HAKATA.swift でお尋ねしたい。
コードを見てもらうにあたって
簡単な想定で描く都合、余計なところが気になるかもしれない
• アプリの構成、設計・責務まわりは寛容に見つつ …
• 特に Swift Concurrency の扱い・影響まわりに着目してほしい


# Page. 9

![Page Image](https://bcdn.docswell.com/page/DEYM8656EM.jpg)

▶︎
▶︎
▶︎
▶︎
Coding Time
SNS タイムラインの閲覧アプリを想定
UIKit を使用
ビュー表示時にタイムラインを読み込む
フォアグラウンドに来たときに
トークンが設定されていれば、更新ボタンを有効化


# Page. 10

![Page Image](https://bcdn.docswell.com/page/VJNWQZ41J8.jpg)

気になること、まとめ
1. ほとんどは @MainActor で良いのでは？
• 重たい処理は Main Actor 外に送る？
-
Task.detached ？
nonisolated func ⋯ async ？
withTaskGroup ？
async let？
• 待ち時間がある（中断ポイント）だけなら Main Actor 上で待てば良い？
2. できれば nonisolated にしておきたいが …
• 状態保護が必要なときに、インスタンスを別途隔離？
• 非同期機能で、型に Sendable が必要になるのが 悩みどころ
• 関連機能がすべて同期的なら nonisolated を優先？
• 内部状態の読み書きが必要な場面で Actor を検討？


# Page. 11

![Page Image](https://bcdn.docswell.com/page/YE9XDZQY73.jpg)

Enjoy! Swift
Thank you
熊谷友宏
@es̲kumagai


