Sebagian besar model di aplikasi iOS saya meminta server web. Saya ingin memiliki file konfigurasi yang menyimpan URL dasar server. Ini akan terlihat seperti ini:
// production
// static NSString* const baseUrl = "http://website.com/"
// testing
static NSString* const baseUrl = "http://192.168.0.123/"
Dengan mengomentari satu baris atau lainnya, saya dapat langsung mengubah server mana yang ditunjuk oleh model saya. Pertanyaan saya adalah, apa praktik terbaik untuk menyimpan konstanta global di iOS? Dalam pemrograman Android, kami memiliki file sumber daya string bawaan ini . Dalam Aktivitas apa pun (setara dengan UIViewController ), kita bisa mengambil konstanta string tersebut dengan:
String string = this.getString(R.string.someConstant);
Saya ingin tahu apakah iOS SDK memiliki tempat analog untuk menyimpan konstanta. Jika tidak, apa praktik terbaik di Objective-C untuk melakukannya?
"constants.h"
pendekatan, mendeklarasikanstatic
variabel berdasarkan#ifdef VIEW_CONSTANTS ... #endif
. Jadi saya memiliki satu file konstanta di seluruh aplikasi, tetapi masing-masing file kode saya yang lain#define
memiliki kumpulan konstanta yang berbeda untuk disertakan sebelum#include
-ing file konstanta (menghentikan semua peringatan kompilator yang "ditentukan tetapi tidak digunakan").