Jenis penginisialisasi di Swift
Di Swift, penginisialisasi adalah metode khusus yang dipanggil saat instance kelas, struct, atau enum dibuat. Mereka digunakan untuk menyiapkan status awal instance, dan dapat menggunakan parameter untuk menyesuaikan proses inisialisasi.
Ada dua jenis penginisialisasi di Swift: penginisialisasi yang ditunjuk dan penginisialisasi kenyamanan. Mari kita lihat lebih dekat masing-masing, dan lihat perbedaannya.
Inisialisasi yang Ditunjuk
Inisialisasi yang ditunjuk adalah cara utama untuk menginisialisasi instance baru dari kelas, struct, atau enum. Mereka bertanggung jawab untuk menginisialisasi semua properti instance, dan harus memanggil penginisialisasi yang ditunjuk dari superclass sebelum melakukannya.
Berikut adalah contoh penginisialisasi yang ditunjuk untuk Person
kelas sederhana:
class Person {
let name: String
let age: Int
init(name: String, age: Int) {
self.name =name self.age = age
}
}
Penginisialisasi Kenyamanan
Penginisialisasi kenyamanan adalah penginisialisasi sekunder yang menyediakan pintasan untuk menginisialisasi instance kelas, struct, atau enum. Mereka harus memanggil penginisialisasi yang ditunjuk dari kelas yang sama sebelum melakukan hal lain. Singkatnya kami menggunakannya untuk kenyamanan kami untuk menginisialisasi.
Berikut adalah contoh penginisialisasi kenyamanan untuk kelas Person
:
class Person {
let name: String
let age: Int
init(name: String, age: Int) {
self.name =name
self.age = age
}
convenience init(name: String) {
self.init(name: name, age: 0)
}
}
Kesimpulan
Singkatnya, penginisialisasi yang ditunjuk adalah cara utama untuk menginisialisasi instance baru dari kelas, struct, atau enum, dan bertanggung jawab untuk menginisialisasi semua properti instance. Convenience initializers menyediakan jalan pintas untuk menginisialisasi sebuah instance dengan sekumpulan parameter tertentu, dan harus memanggil initializer yang ditunjuk dari kelas yang sama sebelum melakukan hal lain.
Dengan memahami perbedaan antara penginisialisasi yang ditunjuk dan penginisialisasi praktis, Anda dapat menulis kode yang lebih efisien dan efektif, dan membuat instance kelas, struct, dan enum Anda dengan lebih mudah.
Silakan bertepuk tangan dan ikuti jika Anda menyukai posting ini.