Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot find type 'AnyCancellable' in scope from amplify code snippit

import Foundation
import SwiftUI
import Amplify


class MovesAPI: ObservableObject {
    
    
    @Published var todoLIst: [MoveType?] = [nil]
    
    
    init() {
        listTodos()
    }
    
    func listTodos() -> AnyCancellable { //cannot find type 'AnyCancellable' in scope
        let moveType = MoveType.keys
        let sink = Amplify.API.query(request: .paginatedList(MoveType.self)) //Generic parameter 'R' could not be inferred //Type 'GraphQLRequest<_>' has no member 'paginatedList'
            .resultPublisher
            .sink {
                if case let .failure(error) = $0 {
                    print("Got failed event with error \(error)")
                }
            }
            receiveValue: { result in
            switch result {
                case .success(let todos):
                    print("Successfully retrieved list of todos: \(todos)")
                case .failure(let error):
                    print("Got failed result with \(error.errorDescription)")
                }
            }
        return sink
    }

}

Ultimately my goal is to fetch all the models of type MoveType from the amplify GraphQL API. This is a code snippet pasted directly into my project and I'm getting these type errors. any idea why? From amplify, docs (https://docs.amplify.aws/lib/graphqlapi/query-data/q/platform/ios#query-by-id) all I did was change the model names to match my backend and remove query params.

like image 877
Joe Davis Avatar asked Dec 22 '22 15:12

Joe Davis


2 Answers

I think you need:

import Combine
like image 80
Jan Polzer Avatar answered Dec 25 '22 05:12

Jan Polzer


I faced this problem of paginatedList code snippet from amplify docs not working as I downloaded Amplify using Cocoapods. When I followed the instructions to download Amplify from Swift Package Manager (SPM) instead at Amplify iOS Github , the paginatedList not working problem is solved. Importing the Combine framework into my Xcode project did not solve the paginatedList problem.

like image 40
Ivaan Chin Avatar answered Dec 25 '22 05:12

Ivaan Chin