gpt4 book ai didi

ios - 如何使用 iOS 版 Apollo 客户端读取结果

转载 作者:行者123 更新时间:2023-11-30 11:57:58 25 4
gpt4 key购买 nike

我正在尝试在 iOS 中通过 Apollo 客户端使用 GraphQL。我有以下突变:

login(user: String!, password: String!): UserType

用户类型如下所示:

id: ID
user: String!
password: String!
name: String
lastname: String
email: Email!
groups: [GroupType]

在 iOS 中,我已经按照文档所述配置了 aopllo 客户端,并且工作正常,但我不知道如何访问响应中的每个字段。当登录成功时,我想读取作为 UserType 字段的响应收到的 json,因此,我这样做:

apolloClient.perform(mutation: loginMutation) {
resultsGQL, error in
...
}

我的问题是,如何从 resultGQL 中读取属于我的 grapql 架构中定义的 UserType 数据的每个字段?

问候

最佳答案

问题并不是 100% 清楚,因为它缺少一些突变代码:GraphQL 突变必须返回至少一个值,您必须定义该值。因为我不确定你的方法

login(user: String!, password: String!): UserType

我为您提供了一个简单的示例,用于使用 GraphQL 突变更新现有的 userProfile,然后返回在 userType 的架构中定义的每个字段。让我们假设您有一个 userType(因此知道相应的 userId)并且您想要修改电子邮件:

mutation updateUserProfile($id: ID!, $newEmail: String) {
updateUser(id: $id, email: $newEmail) {
id
user
password
name
lastName
email
}
}

如你所见,执行后

updateUser(id: $id, email: $newEmail)

所有返回值都在以下 {...} 括号内定义,因此可以在回调变量中访问

resultsGQL

这意味着:

apolloClient.perform(mutation: loginMutation) { resultsGQL, error in
if let results = resultsGQL?.data {
// "results" can now access all data from userType
}
}

由于您定义了要从突变返回的 userType 架构的所有实体,因此您现在可以在回调变量中访问它们。

关于ios - 如何使用 iOS 版 Apollo 客户端读取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47585787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com