• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Globale Konstanten speichern

  • Ersteller Ersteller K23
  • Erstellt am Erstellt am

K23

Jonagold
Registriert
27.06.13
Beiträge
19
Hallo zusammen,
ich glaube ich verwende die falschen Suchbegriffe.... Ich habe in meiner iPhone App eine Handvoll globaler Konstanten (String-Werte) die ich auf einigen Unterseiten benötige, z.B. meine Emailadresse, die Homepage-URL etc. Wo bzw. Wie kann ich die am besten deklarieren? Bei Google lande ich immer wieder bei Tipps z.B. wie man UserDefaults speichert, aber es handelt sich bei mir ja nicht um Variablen sondern um Konstanten. Wo speicher ich die am besten? Bin noch nicht so lange iOS-Entwickler, also wenns etwas komplizierter ist wäre ein Codebeispiel super!
Vielen Dank!
 
Einfachste Möglichkeit
Lege z.B. Constants.h an mit:
#define EMAILADRESSE @"[email protected]"
Die Constants.h-Datei kannst du entweder jedesmal oder in APPNAME-Prefix.pch importieren.

Oder so (Constants.h): FOUNDATION_EXPORT NSString *const MyEmail;
(Constants.m): NSString *const MyEmail=@"[email protected]"
 
  • Like
Reaktionen: K23
Hi,
es ist die Frage wie konstant deine Konstanten sind. Normal macht man #define PI 3.14 oder der Gleichen.
Darum, bei wirklich nicht veränderten Werten #define, ansonsten readonly UserDefaults.

LG
 
Hi,
es ist die Frage wie konstant deine Konstanten sind.
Eine Konstante ist konstant, sonst ist es keine Konstante.

Normal macht man #define PI 3.14 oder der Gleichen.
Darum, bei wirklich nicht veränderten Werten #define
Ich würde die zweite Möglichkeit, die frostdiver beschrieben hat bevorzugen.

ansonsten readonly UserDefaults.
Und wie bekommst Du die Konstante in die UserDefaults rein?
 
@MacAppler,
über ein Init beim Install bzw. FirstAppStart. Wo dann natürlich eine Überprüfung laufen sollte, ob der Wert schon gesetzt ist.

Grüße,
 
@MacAppler,
über ein Init beim Install bzw. FirstAppStart. Wo dann natürlich eine Überprüfung laufen sollte, ob der Wert schon gesetzt ist.
Nur wozu soll das überhaupt gut sein? Was hätte man davon, außer ein paar Bytes sinnlos auf der Platte verbraucht und unnötigen Code geschrieben? ;)
 
Wenn es geht sollte man generell auf globale Variablen verzichten, Speicher die Werte doch einfach in eine plist und rufe diese auf bei bedarf oder Speicher diese im NSUserdefault.
 
  • Like
Reaktionen: dennisS95
@MaacApple, jep, dann sind die anderen Ideen besser. Ich habe jedoch auch schon erlebt das Leute z.b. die Versionsnummer oder Links als "Konstanten" angesehen habe - welche aber wohl doch nicht so konstant sind wie Pi z.b. :)

LG