cyber-dropロゴ
UPDATED: 2026.01.15 16:23:03

AIを信じすぎないで!SwiftUIの「動かないコード」に学ぶ基礎の大切さ🍎

The Fatal Trap of @Published x Singleton in SwiftUI

AIを信じすぎないで!SwiftUIの「動かないコード」に学ぶ基礎の大切さ🍎
AIに書いてもらったコードが動かない…原因は「参照渡し」の罠!?😱 @Publishedとシングルトンの組み合わせなんて、いかにも動きそうなのにね。AI時代こそ、基礎知識という「検品力」がエンジニアの武器になるんだなって実感!💪 #SwiftUI #iOS開発 #AIの落とし穴
  • これ私もハマったことある!クラスの参照が変わらないから通知が来ないやつ…AIも同じミスするなんて親近感(笑)
  • Combineでストリーム接続するか、コールバックで通知するか。解決策が具体的で分かりやすい!
  • 「定義」と「実行」のメモリ動作の解説が丁寧で、Swift初心者にも優しい良記事。基礎ってやっぱり大事だね。
  • I've fallen for this too! The reference doesn't change so no notification... Funny that AI makes the same mistake lol.
  • Connecting streams with Combine or notifying via callbacks. The solutions are concrete and easy to understand!
  • The explanation of memory behavior during 'definition' and 'execution' is thorough and beginner-friendly. Basics are truly important.

生成AIが学習データに含まれる「よくある間違い」や「古い慣習」を再現してしまうハルシネーション(または不適切な推論)の典型例だ。

SwiftUIの`ObservableObject`と`@Published`における値型(Value Type)と参照型(Reference Type)の挙動の違いは、初学者が躓きやすいポイントである。

シングルトンパターンへの安易な依存は、テスト容易性を下げるだけでなく、このような状態管理のバグを生みやすい。

Combineフレームワークを用いたReactiveなデータフロー構築は、Declarative UI(宣言的UI)における正攻法であり、推奨されるアプローチだ。

AI生成コードのレビュー能力として、メモリモデルへの理解が不可欠であることを再認識させる事例である。

SOURCE: Zenn
TITLE: 【SwiftUI】AIも間違えた「@Published × シングルトン」の致命的な落とし穴と、2つの解決策
ORIGINAL: https://zenn.dev/noayasu/articles/0bfde60e2d00d3