Sakelar untuk “behavior” tertentu di Xcode? Environment Variable
Mungkin saat kita sedang membangun aplikasi, kita perlu untuk melakukan semacam situasi yang memerlukan kondisi tertentu. Katakan bahwa kita ingin agar sebuah salah satu diantara dua kode ini berjalan.
Kucing().makanRoti()
FYI, kucingku memang sukanya makan roti dibanding ikan.
Kucing().makanSayurDaunKetela()
Ups, dan itu tidak perlu aku ingkari, kucingku akan melahap semua sayur daun ketela. Bahkan jika hanya rebusan daun ketela dengan bumbu penyedap instan.
Nah, kita ingin agar kedua kelakukan itu dijalankan saat kondisi tertentu tanpa harus memasukan ‘state’ ke dalam kode yang diobserve untuk mengerjakan logika penentuan behavior mana yang kudu dilakukan oleh kucing.
I mean, kita ngga perlu nulis var kucingSukanyaMakanRoti: Bool
didalam kode karena kita akan menggunakan Envirotment Variable.
Untuk menciptakan envirotment variable, CMD + <
atau Product > Scheme > Edit Scheme
di Xcode dan masuk ke tab Argument
Di seksi envirotment variable, kita masukkan variable Kucing Super
dengan value 1
. Sekarang kembali ke kode.
Dimanapun kalian butuh behavior tersebut, misal di App Delegate maka kita akan mengecek ProcessInfo.processInfo.environment
yang mengembalikan nilai Dictionary [String: String]
Lakukan pengecekan seperti ini:
let dict = ProcessInfo.processInfo.environment
if let kucingSuper = dict["Kucing Super"] { if kucingSuper == "1" { Kucing().sukaMakanDaunKetela()
} else { Kucing().makanRoti()
}
}
Yups sekarang kucing kita punya kelakukan yang sungguh aneh!
Dimana aku mengunakan cara ini? Pertama kalinya, saat setiap beberapa kali build aku harus mengubah persistent store core data. Aku harus mereset semua datanya. Tiap kali harus melakukan hal itu, tinggal aktifkan “Reset Core Data” : “YES”
Happy coding, always praying!