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

时间:2012-02-29 17:53:25

标签: iphone objective-c ios api

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

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

问题是API端点的某些部分是可变的,例如user_id,photo_id等。

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

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

谢谢!

1 个答案:

答案 0 :(得分:2)

如果我理解你的需要,这样的事情对你有用:

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

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

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

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

这就是你想要的吗?还是需要“发烧友”的东西?在Obj-C中我有一个Python功能 - 你可以使用@“some /%(user_id)s / etc / etc /”这样的格式命名'命名'说明符,当你执行格式化时,你提供了一个字典)。 'user_id'规范用作查找关联值的关键值,然后对其进行格式化(例如,使用我的示例中的's'规范。未在Obj-C中找到类似的功能。