Я новичок в Objective-C. По сути, я хочу сохранить набор URL-адресов конечных точек в качестве строк для использования в моем приложении, но мне нужен другой домен, основанный на том, работает ли приложение в режиме DEBUG или нет. Я подумал, что было бы полезно использовать заголовочный файл (например, Common.h
) с некоторыми простыми способами:
#ifdef DEBUG
#define kAPIEndpointHost @"http://example.dev"
#else
#define kAPIEndpointHost @"http://www.example.com"
#endif
#define kAPIEndpointLatest [kAPIEndpointHost stringByAppendingString:@"/api/latest_content"]
#define kAPIEndpointMostPopular [kAPIEndpointHost stringByAppendingString:@"/api/most_popular"]
Очевидно, что это не сработает, поскольку вы не можете, по-видимому, основывать константу на значении другой константы.
Какой "правильный" способ сделать это? Имеет ли смысл иметь правильный класс с методами класса, которые возвращают правильные значения конечных точек?
РЕДАКТИРОВАТЬ: Чтобы быть понятным, строки "Последние" и "Самые популярные", основанные на строке хоста, - это то, с чем я столкнулся. Компилятор не любит stringByAppendingString
часть #defines.