@Publishedクラスにはメンバーがありません。SwiftUIを組み合わせる

wmorgue

マイルストーンからを介して課題を解決しようとしCombineましたが、エラーが発生しました:

Value of type 'Published<[User]>.Publisher' has no member 'store'

ソースコード:

import Combine
import Foundation


// MARK: Main model from API
struct User: Decodable, Identifiable {
    let id: UUID
    let isActive: Bool
    let name: String
    let age: Int
    let company: String
    let email: String
    let address: String
    let about: String
    let registered: Date
    let tags: [String]
    let friends: [Friend]
}

// MARK: - Friend array API
struct Friend: Decodable {
    let id: String
    let name: String
}


final class ViewModel: ObservableObject {
    @Published var model = [User]()

    private var subscriptions: Set<AnyCancellable> = []

    // Error: Value of type 'Published<[User]>.Publisher' has no member 'store'
    init() { $model.store(in: &subscriptions )}
}

extension ViewModel {
    // MARK: - Make request to API
    func fetch() -> AnyPublisher<User, Error> {
        guard let mainURL = URL(string: "https://www.hackingwithswift.com/samples/friendface.json") else {
            fatalError("404: Not found")
        }

        return URLSession.shared.dataTaskPublisher(for: mainURL)
            .map(\.data)
            .decode(type: User.self, decoder: JSONDecoder())
            .receive(on: RunLoop.main)
            .eraseToAnyPublisher()
    }
}

わかりません。どこにパブリッシャーを作成する必要がありますか?

彼の気性

他のコードを考慮して、ここに使用法があります(Xcode 11.4でコンパイルされています)

init() {
  self.fetch()
    .sink(receiveCompletion: { _ in
        // do here whatever needed with error
    }, receiveValue: { [weak self] user in
        self?.model.append(user)
    })
    .store(in: &subscriptions)
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

辞書の組み合わせ:セレクター「addEntriesFromDictionary」のクラスメソッドはありません

分類Dev

タスクバーのラベルを非表示にし、タスクバーのボタンを組み合わせない方法はありますか?

分類Dev

C ++クラスにはメンバーがありません

分類Dev

Else:ステートメントとExcept:を組み合わせるよりPython的な方法はありますか?

分類Dev

GoogleChartsのローソク足チャートと折れ線グラフを組み合わせる場合の「最後のドメインに十分なデータ列がありません」

分類Dev

パラメータの組み合わせが無効であるか、完全ではありません。\ r \ nパラメータ名:tagObject VSTS Git API

分類Dev

投稿/コメントストリームを組み合わせる方法はありますか?

分類Dev

変数に値を割り当てるSELECTステートメントは、データ取得操作と組み合わせてはなりません1。

分類Dev

Pythonのifステートメント内でメンバーごとの比較を組み合わせる方法はありますか?

分類Dev

クリーンなMVPでは、インタラクターの組み合わせを誰が処理する必要がありますか?

分類Dev

メソッドを検証するためのモックのジェネリックメソッド(Moqライブラリ)がパラメータの組み合わせで呼び出されたことはありません

分類Dev

インポートとインポートからを1つのステートメントに組み合わせる方法はありますか?

分類Dev

バックラッシュ要素と組み合わせると、math.acosがドメイン外エラーになります

分類Dev

クラス「classname」にはメンバー「function」がありません

分類Dev

pylint:クラス 'message'には 'startswith'メンバーがありません

分類Dev

SwiftPlaygroundsクラスViewcontrollerにはメンバー ""がありませんか?

分類Dev

異なるデータソースを組み合わせるには、「非常に厄介な」Rxロジックを改善する必要があります

分類Dev

両方がARGB32メディアタイプを受け入れる場合、ピン間の組み合わせはありません

分類Dev

ミューテックス取得-交換ループ(またはキュー取得-ロードループ)のメモリフェンスを組み合わせる必要がありますか、それとも回避する必要がありますか?

分類Dev

複数のキーの組み合わせをスパイダーショートカットにバインドする方法はありますか?

分類Dev

Pentaho:ルックアップ/更新の組み合わせは、ソース内のすべての行を処理するわけではありません

分類Dev

Infinispan:組み込みキャッシュとスタンドアロンサーバーを1つのクラスターに組み合わせる方法は?

分類Dev

VBScriptのIfステートメントで通常条件を組み合わせることができません

分類Dev

login_requiredとuser_passes_testを組み合わせる場合、Djangoの「User」オブジェクトには属性「user」がありません

分類Dev

これらの2つのLINQステートメントを1つに組み合わせる方法はありますか

分類Dev

これらの2つのステートメントを1つに組み合わせる方法はありますか?

分類Dev

パーティションの削除とグローバルインデックスの更新が存在する場合エラー:パーティションのメンテナンス操作を他の操作と組み合わせることはできません

分類Dev

単純な組み合わせのreact-navigationにヘッダーバーがありません

分類Dev

列Xの値は等しいが列Yの値が異なるSQL行を組み合わせる(オーバーライドする必要があります)

Related 関連記事

  1. 1

    辞書の組み合わせ:セレクター「addEntriesFromDictionary」のクラスメソッドはありません

  2. 2

    タスクバーのラベルを非表示にし、タスクバーのボタンを組み合わせない方法はありますか?

  3. 3

    C ++クラスにはメンバーがありません

  4. 4

    Else:ステートメントとExcept:を組み合わせるよりPython的な方法はありますか?

  5. 5

    GoogleChartsのローソク足チャートと折れ線グラフを組み合わせる場合の「最後のドメインに十分なデータ列がありません」

  6. 6

    パラメータの組み合わせが無効であるか、完全ではありません。\ r \ nパラメータ名:tagObject VSTS Git API

  7. 7

    投稿/コメントストリームを組み合わせる方法はありますか?

  8. 8

    変数に値を割り当てるSELECTステートメントは、データ取得操作と組み合わせてはなりません1。

  9. 9

    Pythonのifステートメント内でメンバーごとの比較を組み合わせる方法はありますか?

  10. 10

    クリーンなMVPでは、インタラクターの組み合わせを誰が処理する必要がありますか?

  11. 11

    メソッドを検証するためのモックのジェネリックメソッド(Moqライブラリ)がパラメータの組み合わせで呼び出されたことはありません

  12. 12

    インポートとインポートからを1つのステートメントに組み合わせる方法はありますか?

  13. 13

    バックラッシュ要素と組み合わせると、math.acosがドメイン外エラーになります

  14. 14

    クラス「classname」にはメンバー「function」がありません

  15. 15

    pylint:クラス 'message'には 'startswith'メンバーがありません

  16. 16

    SwiftPlaygroundsクラスViewcontrollerにはメンバー ""がありませんか?

  17. 17

    異なるデータソースを組み合わせるには、「非常に厄介な」Rxロジックを改善する必要があります

  18. 18

    両方がARGB32メディアタイプを受け入れる場合、ピン間の組み合わせはありません

  19. 19

    ミューテックス取得-交換ループ(またはキュー取得-ロードループ)のメモリフェンスを組み合わせる必要がありますか、それとも回避する必要がありますか?

  20. 20

    複数のキーの組み合わせをスパイダーショートカットにバインドする方法はありますか?

  21. 21

    Pentaho:ルックアップ/更新の組み合わせは、ソース内のすべての行を処理するわけではありません

  22. 22

    Infinispan:組み込みキャッシュとスタンドアロンサーバーを1つのクラスターに組み合わせる方法は?

  23. 23

    VBScriptのIfステートメントで通常条件を組み合わせることができません

  24. 24

    login_requiredとuser_passes_testを組み合わせる場合、Djangoの「User」オブジェクトには属性「user」がありません

  25. 25

    これらの2つのLINQステートメントを1つに組み合わせる方法はありますか

  26. 26

    これらの2つのステートメントを1つに組み合わせる方法はありますか?

  27. 27

    パーティションの削除とグローバルインデックスの更新が存在する場合エラー:パーティションのメンテナンス操作を他の操作と組み合わせることはできません

  28. 28

    単純な組み合わせのreact-navigationにヘッダーバーがありません

  29. 29

    列Xの値は等しいが列Yの値が異なるSQL行を組み合わせる(オーバーライドする必要があります)

ホットタグ

アーカイブ