ios - GRPCcall2 的用法示例

标签 ios objective-c swift grpc

在我们的 iOS 代码库中,我们使用 GRPCcall 来配置我们与服务器的连接。我刚刚注意到,在 Objective C gRPC 库中,GRPCcall 类被指示为已弃用:

/**
 * This interface is deprecated. Please use \a GRPCcall2.
 *
 * Represents a single gRPC remote call.
 */

注释表明我们应该改用GRPCcall2。但是用法似乎有所不同,并且基于不同的概念。比如上面的注释GRPCcall2

/**
 * Call related parameters. These parameters are automatically 
   specified by Protobuf. If directly
 * using the \a GRPCCall2 class, users should specify these parameters 
   manually.
 */

建议用户通常不需要使用这个类。

在发布此问题时,gRPC Basics guide仍然引用(现已弃用)GRPCcall 类,gRPC Object-C Quick Start guide 也是如此。 .除了评论中的内容外,我似乎找不到新的 GRPCcall2 的任何文档。

例如,对于旧类,我可以做

GRPCCall.enableRetry(true, forHost: "bla")

我如何通过新类(class)实现这一目标?

最佳答案

您可以在https://github.com/grpc/grpc/blob/master/src/objective-c/tests/UnitTests/APIv2Tests.m 中找到GRPCCall2 的使用示例.

retryEnabled 属性在 GRPCMutableCallOptions 中.

你可以这样做:

  GRPCMutableCallOptions *options = [[GRPCMutableCallOptions alloc] init];
  options.retryEnabled = YES;
  GRPCCall2 *call = [[GRPCCall2 alloc]
      initWithRequestOptions:requestOptions
      responseHandler:handler
      callOptions:options];

Objective-C examples也已更新为使用 v2 API

关于ios - GRPCcall2 的用法示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56240312/

相关文章:

ios - 为什么没有任何显示?

ios - 扩展 EXT_shader_texture_lod 不适用于 OpenGL ES 3.0 iOS

iphone - 为 CGContextRef 着色但保留 Alpha

ios - 数据持久化

swift - 以编程方式切换 MKUserTrackingBarButtonItem

ios - 在 Swift 2.0 中检查权限

ios - 如何在xcode中允许应用程序使用移动数据

ios - UICollectionView + SDWebImage + 单元格重用

ios - 如何将 SuperClass 对象转换为 SubClass [objective -c]

ios - 无法在Swift中设置IndexPath行