Skip to content Skip to sidebar Skip to footer

Belajar Swift : Cara Menggunakan Enumerasi di 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 TerkaitNilai Mentah
Jenis data yang berbedaJenis data yang sama
Mis: enum {10,0.8, "Hello"}Dari: enum {10,35,50}
Nilai dibuat berdasarkan konstanta atau variabelNilai yang telah diisi sebelumnya
Bervariasi ketika dideklarasikan setiap kaliNilai 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"

close