Extension dalam Swift
Dalam artikel kali ini, Kamu akan belajar bagaimana menjaga kode Kamu termodulasi menggunakan extension
. Masalah yang ditemukan saat kode kita semakin besar adalah “Bagaimana menjaganya tetap ringkas dan termodulasi?” atau “bagaimana kita menghindari kode yang masif/berulang-ulang?”.
Mari kita mulai. Silahkan buka playground Kamu, kita belajar bersama.
Buat Struct
Pertama-tama, buatlah sebuah struct Budi
. Di dalamnya memiliki property name
dan skill
.
struct Budi { var name = "Budi" var skill = "Swift" init() {} }
Extend Struct
Kamu akan meng-Extend struct Budi
dan menambahkan beberapa fitur.
extension Budi { var description: String { let myName = self.name let mySkill = self.skill // object.name return "I'm \(myName), I know \(mySkill)" } init(enterSkill: String) { self.skill = enterSkill print("You've entered a new skill") } subscript(mySkill: String) -> String { return "This is my secret skill: \(mySkill)" } }
Implementasi
Buat objek budi
let budi = Budi() budi.description // I'm Budi, I know Swift" budi["Dance"] // This is my secret skill: Dance
Kamu juga bisa menggunakan init(enterSkill: String)
dari blok Extension
tadi.
let newBudi = Budi(enterSkill: "Crafting") newBudi.description // I'm Budi, I know Crafting"
Extend tipe-tipe Swift Native
Kita akan meng-Extend Int
, Kamu dapat menambahkan properti sesuai kebutuhan.
extension Int { var squared: Int { return self * self } }
Nah sekarang tipe Int
memiliki properti squared
.
let myNumber = 10 // self is 10 myNumber.squared // 100
Rule: Kamu tidak bisa menyimpan properti di dalam
Extension
Oke sekian seputar Extension dalam Swift.
Semoga bermanfaat.