Belajar Swift : Cara Menggunakan Enumerasi di Swift
Enumerasi adalah tipe data yang ditentukan pengguna yang terdiri dari sekumpulan nilai terkait. Kata kunci enum digunakan untuk menentukan tipe data enumerasi.
Fungsi Pencacahan
Enumerasi di Swift 4 juga menyerupai struktur C dan Objective C.
Itu dideklarasikan di kelas dan nilainya diakses melalui instance kelas itu.
Nilai anggota awal ditentukan menggunakan enum intializers.
Fungsinya juga diperluas dengan memastikan fungsionalitas protokol standar.
Sintaksis
Pencacahan diperkenalkan dengan kata kunci enum dan menempatkan seluruh definisinya dalam sepasang tanda kurung kurawal -
enum enumname { // enumeration values are described here }
Misalnya, Anda dapat menentukan enumerasi untuk hari dalam seminggu sebagai berikut -
enum DaysofaWeek { case Sunday case Monday --- case Saturday }
Contoh
enum names { case Swift case Closures } var lang = names.Closures lang = .Closures switch lang { case .Swift: print("Welcome to Swift") case .Closures: print("Welcome to Closures") default: print("Introduction") }
Ketika kami menjalankan program di atas menggunakan playground, kami mendapatkan hasil sebagai berikut -
Welcome to Closures
Pencacahan Swift 4 tidak menetapkan nilai default anggotanya seperti C dan Objective C. Sebaliknya anggota secara eksplisit ditentukan oleh nama pencacahan mereka. Nama pencacahan harus dimulai dengan huruf kapital (Mis: enum DaysofaWeek).
var weekDay = DaysofaWeek.Sunday
Di sini nama Pencacahan 'DaysofaWeek' ditetapkan ke variabel hari kerja. Minggu. Ini memberi tahu kompiler bahwa tipe data milik Sunday akan ditugaskan ke anggota enum berikutnya dari kelas tertentu itu. Setelah tipe data anggota enum ditentukan, anggota dapat diakses dengan meneruskan nilai dan perhitungan lebih lanjut.
Pencacahan dengan Pernyataan Switch
Pernyataan Swift 4 'Switch' juga mengikuti pemilihan multi arah. Hanya satu variabel yang diakses pada waktu tertentu berdasarkan kondisi yang ditentukan. Kasus default dalam pernyataan switch digunakan untuk menjebak kasus yang tidak ditentukan.
enum Climate { case India case America case Africa case Australia } var season = Climate.America season = .America switch season { case .India: print("Climate is Hot") case .America: print("Climate is Cold") case .Africa: print("Climate is Moderate") case .Australia: print("Climate is Rainy") }
Ketika kami menjalankan program di atas menggunakan playground, kami mendapatkan hasil sebagai berikut -
Climate is Cold
Program ini pertama kali mendefinisikan Iklim sebagai nama pencacahan. Kemudian anggotanya seperti 'India', 'Amerika', 'Afrika' dan 'Australia' dinyatakan termasuk dalam kelas 'Iklim'. Sekarang anggota Amerika ditugaskan ke Variabel Musim. Selanjutnya, kasus Switch akan melihat nilai yang sesuai dengan .America dan itu akan bercabang ke pernyataan tertentu itu. Outputnya akan ditampilkan sebagai "Iklim itu Dingin". Demikian juga, semua anggota dapat diakses melalui pernyataan sakelar. Ketika kondisinya tidak memuaskan maka akan dicetak secara default 'Iklim tidak dapat diprediksi'.
Pencacahan selanjutnya dapat diklasifikasikan menjadi nilai-nilai terkait dan nilai mentah.
Perbedaan antara Nilai Terkait dan Nilai Mentah
Nilai Terkait | Nilai Mentah |
Jenis data yang berbeda | Jenis data yang sama |
Mis: enum {10,0.8, "Hello"} | Dari: enum {10,35,50} |
Nilai dibuat berdasarkan konstanta atau variabel | Nilai yang telah diisi sebelumnya |
Bervariasi ketika dideklarasikan setiap kali | Nilai untuk anggota sama |
Enum dengan Nilai Terkait
enum Student { case Name(String) case Mark(Int,Int,Int) } var studDetails = Student.Name("Swift 4") var studMarks = Student.Mark(98,97,95) switch studMarks { case .Name(let studName): print("Student name is: \(studName).") case .Mark(let Mark1, let Mark2, let Mark3): print("Student Marks are: \(Mark1),\(Mark2),\(Mark3).") }
Ketika kami menjalankan program di atas menggunakan playground, kami mendapatkan hasil sebagai berikut -
Student Marks are: 98,97,95.
Pertimbangkan misalnya untuk mengakses nama siswa dan tanda yang diamankan dalam tiga mata pelajaran, nama pencacahan dinyatakan sebagai siswa dan anggota yang ada di kelas enumerasi adalah nama yang termasuk dalam tipe data string, tanda direpresentasikan sebagai mark1, mark2 dan mark3 dari datatype Integer. Untuk mengakses nama siswa atau nilai yang telah mereka nilai
var studDetails = Student.Name("Swift") var studMarks = Student.Mark(98,97,95)
Sekarang, switch case akan mencetak nama siswa jika blok case tersebut dijalankan jika tidak maka akan mencetak nilai yang diamankan oleh siswa tersebut. Jika kedua kondisi gagal, blok default akan dijalankan.
Enum dengan Nilai Mentah
Nilai mentah dapat berupa string, karakter, atau jenis bilangan bulat atau floating-point apa pun. Setiap nilai mentah harus unik dalam deklarasi pencacahannya. Ketika integer digunakan untuk nilai mentah, mereka bertambah otomatis jika tidak ada nilai yang ditentukan untuk beberapa anggota enumerasi.
enum Month: Int { case January = 1, February, March, April, May, June, July, August, September, October, November, December } let yearMonth = Month.May.rawValue print("Value of the Month is: \(yearMonth).")
Ketika kami menjalankan program di atas menggunakan playground, kami mendapatkan hasil sebagai berikut -
Value of the Month is: 5.
Post a Comment for "Belajar Swift : Cara Menggunakan Enumerasi di Swift"