Die meisten Modelle in meiner iOS-App fragen einen Webserver ab. Ich hätte gerne eine Konfigurationsdatei, in der die Basis-URL des Servers gespeichert ist. Es wird ungefähr so aussehen:
// production
// static NSString* const baseUrl = "http://website.com/"
// testing
static NSString* const baseUrl = "http://192.168.0.123/"
Durch Auskommentieren der einen oder anderen Zeile kann ich sofort ändern, auf welchen Server meine Modelle verweisen. Meine Frage ist, was ist die beste Vorgehensweise zum Speichern globaler Konstanten in iOS? In der Android-Programmierung haben wir diese integrierte String-Ressourcendatei . In jeder Aktivität (das Äquivalent eines UIViewControllers ) können wir diese Zeichenfolgenkonstanten abrufen mit:
String string = this.getString(R.string.someConstant);
Ich habe mich gefragt, ob das iOS SDK einen analogen Speicherort für Konstanten hat. Wenn nicht, was ist die beste Vorgehensweise in Objective-C, um dies zu tun?
"constants.h"
Ansatz und deklarierestatic
Variablen basierend auf#ifdef VIEW_CONSTANTS ... #endif
. Ich habe also eine anwendungsweite Konstantendatei, aber jede meiner anderen Codedateien muss#define
unterschiedliche Konstantensätze enthalten, bevor#include
die Konstantendatei erstellt wird (stoppt alle "definierten, aber nicht verwendeten" Compiler-Warnungen).