@bbbbaaaa3333

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

CoreDataのエンティティ名をTaskにしてて、SwiftUIのTask{}が使えません

CoreDataのエンティティ名をTaskにしてて、SwiftUIのTask{}が使えません。どうしたらいいですか?

以前は

SwiftUI.Task {
    await ...
}

でよかったんですが。どなたかご教示ください。。
エンティティ名を変更するのは修正箇所が膨大なので避けたいです。

0 likes

1Answer

_Concurrency.Task { ... } で実行できました。試した環境は Swift 6.2, platforms: [.macOS(.v15)] です。

_Concurrency は非公開モジュールなので今後のバージョンで同様に使えるかは分かりません。どこかで typealias SwiftTask = _Concurrency.Task しておいてコードでは SwiftTask { ... } を使うようにすれば、またモジュール名の変更があったとしても修正が最小限で済みます。

0Like

Comments

  1. @bbbbaaaa3333

    Questioner

    ありがとうございます。ただ変更の不安が常に残るのでCoreDataのクラス名を変更することで対応しました。ですがご回答感謝します。

Your answer might help someone💌