Większość modeli w mojej aplikacji na iOS odpytuje serwer WWW. Chciałbym mieć plik konfiguracyjny przechowujący podstawowy adres URL serwera. Będzie wyglądać mniej więcej tak:
// production
// static NSString* const baseUrl = "http://website.com/"
// testing
static NSString* const baseUrl = "http://192.168.0.123/"
Komentując jedną lub drugą linię, mogę natychmiast zmienić serwer, na który wskazują moje modele. Moje pytanie brzmi: jaka jest najlepsza praktyka przechowywania globalnych stałych w iOS? W programowaniu na Androida mamy ten wbudowany plik zasobów ciągów . W dowolnym działaniu (odpowiedniku UIViewController ) możemy pobrać te stałe łańcuchowe za pomocą:
String string = this.getString(R.string.someConstant);
Zastanawiałem się, czy iOS SDK ma analogiczne miejsce do przechowywania stałych. Jeśli nie, jaka jest najlepsza praktyka w Objective-C, aby to zrobić?
"constants.h"
podejście, deklarującstatic
zmienne na podstawie#ifdef VIEW_CONSTANTS ... #endif
. Mam więc jeden plik stałych dla całej aplikacji, ale każdy z moich pozostałych plików z kodem#define
to różne zestawy stałych, które mają zostać#include
dołączone przed plikiem stałych (zatrzymuje wszystkie te „zdefiniowane, ale nie używane” ostrzeżenia kompilatora).