在我们的 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/