将 API 端点作为常量进行管理

问题描述 投票:0回答:1

我继承了一个 iPhone 应用程序,该应用程序有一个文件,其中包含对我们的服务器执行 API 调用所需的所有代码 (ServerRequests.h/m)。

API 的所有端点都隐藏在各种方法中,我正在寻找一种方法将这些端点重构到它们自己的单独文件中,或者至少在该文件顶部声明常量。

问题在于 API 端点的部分内容是可变的,例如 user_id、photo_id 等。

我是否可以将格式字符串存储为常量,然后稍后替换可变部分?

如果没有,您对如何以更好的方式管理我的 API 端点(而不是将它们散布在整个文件中)有什么建议吗?

ios objective-c
1个回答
2
投票

如果我理解您的需求,这样的事情可能对您有用:

#define SOME_ENDPOINT  @"what/ever/%@/you/need"

在使用时,您使用字符串格式化来获取最终的字符串:

[NSString stringWithFormat:SOME_ENDPOINT, user_id, ...];

字符串的大部分存储在一个常量中,该常量是用作格式化最终字符串的格式规范的模板。

这就是你想要的吗?或者需要一些“更奇特”的东西?我在 Obj-C 中怀念 Python 的一个功能 - 你可以使用 @"some/%(user_id)s/etc/etc/" 等格式的“命名”说明符,并且当你执行格式化时,你提供一个字典)。 “user_id”规范用作查找关联值的键,然后对其进行格式化(例如,在我的示例中使用“s”规范。在 Obj-C 中尚未找到类似的功能。

© www.soinside.com 2019 - 2024. All rights reserved.