gpt4 book ai didi

ios - AF网络设计模式

转载 作者:行者123 更新时间:2023-11-29 13:22:07 25 4
gpt4 key购买 nike

因此,我正在为 iOS 应用程序使用 AFNetworking,我只是进行了一些重构以包含一些网络可达性代码。我之前为请求等编码参数的设计模式是创建特定于服务的请求参数,然后使用这些参数创建 NSURL,随后创建 NSURLRequest。

我要连接的服务无处不在——有些需要签名的请求、访问 token 、困惑的苦涩等。(Twitter、Foursquare、Instagram、Tumblr 等)通常。

对于每项服务,基于通用的、与服务无关的协议(protocol),我有能够检索状态、检索用户配置文件数据等的方法。在这些方法中,我创建了一个 AFHTTPClient 并且工作正常。

但是,现在我要添加一些应用程序语义 [AFHTTPClient setReachabilityStatusChangeBlock:] 我想知道我是否应该为处理各种服务请求的类的每个实例创建一个 AFHTTPClient,而不是为其中的每个方法创建一个 AFHTTPClient那个处理服务请求的类?定义可达性状态更改 block

对于在这种情况下使用的良好设计模式,有人有什么建议吗?我的意思是——我可以解决一些问题,但我想知道是否存在“最佳实践”/“根据经验构建”模式?

通常,我处理来自特定服务的请求的类是长期存在的。在运行时登录的每个“用户”都有一个类,尽管用户数量通常很少——只有几十个。

我想我想问的是——一般来说,人们通常在哪里定义他们的 AFHTTPClient,他们通常有什么网络可达性状态更改 block ? (本能说:取消操作,如果状态表明互联网已经消失,当然会提醒用户——但是任何聪明的“重试”语义等?)

最佳答案

在我的应用程序中,坚持“每个 API 服务器一个 APIClient”的规则。当向每个 APIClient 添加不同的位和技巧时,这很方便。它们可能因授权类型和加密而异。

关于可达性。您是否为此目的尝试过使用 NSNotificationCenter。这就是创建的目的 - 填充广泛使用的事件。你可以查看Reachability库及其示例。

关于ios - AF网络设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14127830/

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