Definition

Handling responses in Apollo iOS involves processing the result returned from a GraphQL operation, extracting data, handling errors, and updating application state.


Core Concept

Apollo returns a Result<GraphQLResult<Data>, Error>:


Response Structure

apollo.fetch(query: GetCountriesQuery()) { result in
    switch result {
    case .success(let graphQLResult):
        // access data and errors
    case .failure(let error):
        // handle network error
    }
}

Accessing Data

if let countries = graphQLResult.data?.countries {
    print(countries)
}

Handling GraphQL Errors

if let errors = graphQLResult.errors {
    for error in errors {
        print(error.localizedDescription)
    }
}