স্ট্যাটিক ভেরিয়েবল কোথায় এবং কীভাবে ব্যবহার করবেন তা জানার আগে, আমরা বুঝি নেয়া যাক, Swift-এ স্ট্যাটিক ভেরিয়েবল কী?
স্ট্যাটিক ভেরিয়েবল (Static Variable)
স্ট্যাটিক ভেরিয়েবল হলো সেই ভেরিয়েবল जिनके মান একটি ক্লাসের সব ইনস্ট্যান্স বা অবজেক্টের মধ্যে শেয়ার করা হয়। যখন আমরা কোনো ভেরিয়েবলকে static হিসেবে ডিক্লেয়ার করি, তবে সেটি অবজেক্টের পরিবর্তে ক্লাসের সাথে আট säs্পached হয়। স্ট্যাটিক ভেরিয়েবলের মেমরি আলোকেশন ক্লাস লোডিং টাইমে হয়।

উপরের চিত্রটি বুঝি নেয়া যাক, আমাদের একটি ক্লাস Sample আছে যার দুটি অবজেক্ট s1 এবং s2। আপনি দেখছেন s1 এবং s2-এর নিজস্ব ভেরিয়েবল "a" আলাদা আলাদা আছে কিন্তু তাদের একটি সাধারণ শেয়ার্ড ভেরিয়েবল "b" আছে। এই "b" হলো স্ট্যাটিক ভেরিয়েবল।
এখন দেখি কোথায় এবং কীভাবে স্ট্যাটিক ভেরিয়েবল ব্যবহার করা উচিত।
আপনি static কীওয়ার্ড আপনার ভেরিয়েবল ডিক্লেয়ারেশনের সামনে যোগ করে স্ট্যাটিক ভেরিয়েবল তৈরি করেন।
static let/var variable name: type(optional) = value
static let num1: Int = 1
static var name1 = "Akash"
আমরা playground-এ এক্সপ্লোর করব।
Xcode → File → Playground এবং নাম দিন "staticvariables"
যখন আমরা কোনো ভেরিয়েবলকে let দিয়ে ডিক্লেয়ার করি, তার মানে এর মান মডিফাই করা যায় না। অন্যদিকে, var দিয়ে ডিক্লেয়ার করলে এর মান মডিফাই করা যায়।
class Student {
static let section: String = "A" // static constant
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