2012-02-29 45 views
1

我已經繼承了一個iPhone應用程序,該應用程序具有包含執行對我們的服務器(ServerRequests.h/m)的API調用所需的所有代碼的文件。將API端點管理爲常量

API的所有端點都隱藏在各種方法中,我正在尋找一種方法將這些端點重構爲它們自己的單獨文件,或者至少在此文件頂部聲明的常量。

的問題是API端點的部分是可變的,如USER_ID,photo_id等

我是否緩行爲存儲格式字符串作爲常量,然後有在稍後的時間更換可變部分?

如果不是,那麼您是否有任何關於如何以更好的方式管理我的API端點的建議,而不僅僅是將它們全部散佈到整個文件中?

謝謝!

回答

2

如果我理解你的需求,這樣的事情可能會爲你工作:

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

在使用時,您可以使用字符串格式化來獲得最終的字符串:

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

IOW大部分字符串存儲在一個常量中,該常量是用作格式化最終字符串的格式規範的模板。

這就是你想要的嗎?還是需要一些更有趣的東西?在Obj-C中有一個我很想念的Python特性 - 你可以像@「some /%(user_id)s/etc/etc /」那樣擁有'named'指定符,當你執行格式化時,字典)。將'user_id'規範用作查找關聯值的關鍵,然後將其格式化(例如,使用我的示例中的's'規範。在Obj-C中找不到類似的功能。