2013-05-25 4 views
1

Я жестко кодирую все URL-адреса своего мобильного приложения, которые я знаю, это не очень хорошая идея. Например, если мне когда-либо понадобится переместить доменные имена, мне нужно будет переименовать все URL-адреса в приложении с сайта www.oldname.com на www.newname.com на каждой странице.Где я могу хранить URL-адреса веб-серверов?

Я не уверен, где и как их хранить, чтобы я мог изменять эту информацию на одной странице и автоматически менять ее на всех страницах.

В PHP я создал бы один файл с переменными, которые я бы включил на всех страницах. Однако я не уверен, как это делается в объективе. Как ты делаешь это?

ответ

3

Вы можете создать файл констант и включить его во все остальные файлы, в которых указан URL.

Создайте файл, например. constants.h, где вы положили все свои контингенты. В constants.h вы могли бы поставить что-то вроде этого:

#define kApiBaseUrl @"https://myapi.mydomain.com" 

И в ваших других файлов, которые вы Acces его как в этом примере:

NSURL *url = [NSURL URLWithString:kApiBaseUrl]; 

Вероятно, это похоже на то, что вы действительно использовали, чтобы сделать в PHP , Вы также можете установить предопределенные URL-адреса в PLIST вашего приложения, но это, вероятно, проще.

0

Вы можете добавить NSString в ваш .pch-файл, который будет включен во все модули.

1

Проверьте папку «Supporting Files» внутри вашего проекта вы бы файл с именем «nameOfYourApp-Prefix.pch», то вы можете определить корневой URL для Exemple

#define ROOT_URL @"yourwebsite.com" 

и вы можете получить доступ из любой точки ROOT_URL в вашем проекте

1

Вы можете сохранить свои URL-адреса в файле списка свойств (Файл => Новый файл => Свойство ...). У вас будет что-то вроде «config.plist». Аналогично с другим файлом свойств, то ключ => значение файл, в котором значение может быть строкой, массивы и т.д.

Используйте NSBundle, чтобы загрузить файл в приложении, как

NSString *path = [[NSBundle mainBundle] pathForResource:@"config" ofType:@"plist"]; 
NSDictionary *config = [[NSDictionary alloc] initWithContentsOfFile:path]; 

Это будет принесите выгоду, когда вам не придется повторно компилировать свои коды при каждом изменении URL-адресов.

2

похоже на ответ edwardmp, вы также можете создать файл Constants.h и определить некоторые статические константные строки.

static NSString *const kSiteRootURL = @"http://www.someurl.com"; 
Смежные вопросы