iosobjective-ccode-organization

How to define the API Url's in Objective-C


I want to define the API URL's in a single header file, like

#define BASE_URL                    @"http://xxx.xxx.xxx.xxx/api"

#define POSTS                       BASE_URL @"/user_posts"
#define kAPI_GET_POSTS_LIST_URL     POSTS
#define kAPI_ADD_LIKE_URL(id)       POSTS @"/" id @"/like"

......

But it does not work when the 'id' is dynamic. Is there any better ways to organize API Url's?


Solution

  • bari or ;),
    You can define like this

    #define BASE_URL                    @"http://xxx.xxx.xxx.xxx/api"
    
    #define POSTS                       BASE_URL @"/user_posts"
    #define kAPI_GET_POSTS_LIST_URL     POSTS
    #define kAPI_ADD_LIKE_URL(id)       [NSString stringWithFormat:@"%@/%@/like", POSTS, id]
    

    And use it

    NSString *someId = @"5";
    kAPI_ADD_LIKE_URL(someId);