Swift မှာ custom data model တည်ဆောက်ဖို့ struct နဲ့ class ကိုအသုံးများပါတယ်။ Struct က value type ဖြစ်ပြီး copy လုပ်တဲ့အခါ data အသစ်တစ်ခုဖြစ်သွားပါတယ်။ Class က reference type ဖြစ်ပြီး copy လုပ်တဲ့အခါ object တစ်ခုတည်းကိုပဲ reference လုပ်နေတတ်ပါတယ်။
App model တွေ၊ simple data container တွေမှာ struct ကိုအရင်စဉ်းစားတာကောင်းပါတယ်။ Shared mutable state, inheritance လိုတဲ့နေရာတွေမှာ class ကိုသုံးနိုင်ပါတယ်။
swift
struct Course {
var title: String
var lessonCount: Int
}
class Student {
var name: String
var enrolledCourse: Course?
init(name: String) {
self.name = name
}
}
let swiftCourse = Course(title: "Swift Basics", lessonCount: 20)
let student = Student(name: "Nandar")
student.enrolledCourse = swiftCourse
print(student.name)
print(student.enrolledCourse?.title ?? "No course")Course က simple data model ဖြစ်လို့ struct နဲ့ရေးထားပါတယ်။ Student က initializer ပါပြီး course ကိုနောက်မှချိတ်နိုင်အောင် class နဲ့ပြထားပါတယ်။ enrolledCourse? က course မရွေးထားသေးနိုင်လို့ optional ဖြစ်ပါတယ်။
You should see
Nandar Swift Basics