SwiftUIの最新情報

SwiftUIの最新のアップデートと機能について詳しく解説します。2027リリースでは、SwiftUIのメジャーアップグレード、パワフルな新しいDocument API、拡張されたツールバーコントロール、パフォーマンスの大幅な向上により、ビルド時間とデータフローが改善されています。


Xcode 27のエージェントスキル

Xcode 27では、コーディングアシスタントで使用できるスキルセットを活用して、新しいSwiftUI APIとベストプラクティスを取り入れることができます。これらのスキルはSwiftUIの規則をコード全体に適用し、2027リリースの新しいAPIをスムーズに利用できるようにします。


ツールバーのカスタマイズ

ツールバーに関する新しいAPIを使用すると、アプリをサイズ変更した時、各アイテムをどのように表示するかを正確に制御できます。重要なグループを常に表示させるにはvisibilityPriorityモディファイアを使用します。優先度の低いアイテムを常にオーバーフローメニューに表示するにはtoolbarOverflowMenuを使用します。また、共有ボタンなどの重要なアクションを常に右端に固定するにはtopBarPinnedTrailingを使用します。新しいtoolbarMinimizeBehaviorモディファイアは、スクロール時にナビゲーションバーを自動的に縮小します。


Document API

拡張されたSwiftUI Document APIを使用すると、保存済みドキュメントの構造を直接制御できます。読み出し/書き込みについてはWritableDocumentおよびReadableDocumentに従ってください。これらは非同期のインクリメンタルなディスク操作、およびFoundation Subprogress APIによる進捗状況レポートを提供します。DocumentCreationSource APIでは、それぞれNewDocumentButtonを使用する複数の作成ソースを宣言できます。


プレゼンテーションとインタラクション

新しい並べ替え可能なコンテナAPIにより、ユーザーは、リストだけでなくどのコンテナでも、List、LazyVGridなどで同じコードを使用して、アイテムをドラッグして並べ替えることができます。watchOSでも初めて並べ替えが可能になりました。swipeActionsContainerをScrollViewに追加すると、レイアウト全体で並べ替えが可能になります。確認ダイアログとアラートで、シートで使用するのと同じアイテムバインドパターンがサポートされるようになりました。そのため、バインド値を設定するとプレゼンテーションが自動的に表示されます。


パフォーマンスとデータフロー

AsyncImageはコードを一切変更せずに、サーバキャッシュヘッダーに基づいて、標準のHTTPキャッシュをデフォルトでサポートするようになりました。より詳細な制御が必要な場合は、カスタムのURLRequestを渡すか、asyncImageURLSessionmodifierを使用して独自のURLCacheによりURLSessionを設定します。Stateがマクロになったおかげで、@Stateに保存されたクラスは、ビューの生存期間中に一度だけ、遅延して初期化されるようになりました。ViewBuilderに変更が加えられ、ContentBuilderとして提示されるようになったことで、Xcode 27でのビルド時間が大幅に短縮されました。


提供される機能は変更される場合があります。一部の機能やサービスは、地域や言語によっては提供されていない場合があります。一部の機能の提供状況は、現地の法律および規制に基づいて地域ごとに異なる場合があります。