ก่อนที่เราจะดูว่าตัวแปรสแตติกใช้ที่ไหนและอย่างไร เรามาทำความเข้าใจกันก่อนว่า ตัวแปรสแตติกในสวิฟต์คืออะไร
ตัวแปรคงที่
ตัวแปรสแตติกคือตัวแปรที่มีค่าที่แบ่งปันกันระหว่างอินสแตนซ์หรืออ็อบเจกต์ทั้งหมดของคลาส เมื่อเรากำหนดตัวแปรใดๆ ให้เป็นแบบคงที่ ตัวแปรจะถูกแนบมากับคลาสแทนที่จะเป็นอ็อบเจกต์ หน่วยความจำสำหรับตัวแปรสแตติกจะถูกจัดสรรระหว่างเวลาโหลดคลาส
ให้เราเข้าใจรูปข้างบนนี้ เรามีคลาส Sample และมีสองอ็อบเจกต์ s1 และ s2 คุณเห็นว่า s1 และ s2 มีตัวแปร "a" แยกจากกัน แต่มีตัวแปรร่วม "b" ร่วมกัน “b” นี้เป็นตัวแปรคงที่
ตอนนี้เรามาดูกันว่าเราควรใช้ตัวแปรคงที่ที่ไหนและอย่างไร
คุณสร้างตัวแปรสแตติกโดยผนวกคีย์เวิร์ดสแตติกต่อท้ายการประกาศตัวแปรของคุณ
static let/var variable name: type(optional) = value static let num1: Int = 1 static var name1 = “Akash”
เราจะใช้สนามเด็กเล่นเพื่อสำรวจเพิ่มเติม
เปิด Xcode → ไฟล์ → Playground และตั้งชื่อเป็น “ตัวแปรคงที่”
เมื่อเรากำหนดตัวแปรใดๆ เป็น let หมายความว่าไม่สามารถแก้ไขค่าได้ ในทางกลับกัน หากเรากำหนดตัวแปรใดๆ เป็น var หมายความว่าสามารถปรับเปลี่ยนค่าได้
class Student { static let section: String = "A" // static constat static var day: String = "Monday" // static variable var name: String = "Akash" // instance variable var rollNum: Int = 1 // instance variable } let student1 = Student() // Object 1 print(student1.name) // Akash print(student1.rollNum ) // 1 student1.name = "Aman" // Setting ob1 value to Aman print(student1.name) // Aman let student2 = Student() // Object 2 print(student2.name) // Akash print(Student.section) // A print(Student.day) // Monday