Thuta Learning
ရှာဖွေရန်
AdvancedProgrammingbeginner

Mini Project

စိတ်လျှော့ပါ။ ဒီခန်းကို စာအုပ်လိုမဟုတ်ဘဲ စကားပြောသလိုပဲ၊ နားလည်လွယ်အောင် ရှင်းပါမယ်။

ဒီ mini project မှာ Swift basics တွေကိုပေါင်းပြီး Course Progress Tracker တစ်ခုတည်ဆောက်ပါမယ်။ Learner တစ်ယောက်ရဲ့ lesson progress ကို array, dictionary, function, optional, loop, condition တွေနဲ့တွက်ပြမယ့် example ဖြစ်ပါတယ်။

ဒီ project လေးက real app မှာ course dashboard, onboarding checklist, task tracker, habit tracker စတာတွေတည်ဆောက်ရာမှာသုံးနိုင်တဲ့ logic foundation ကိုပေးပါတယ်။

swift
struct CourseProgress {
    let learnerName: String
    var completedLessons: [String]
    let totalLessonCount: Int

    var completedCount: Int {
        completedLessons.count
    }

    var percent: Double {
        Double(completedCount) / Double(totalLessonCount) * 100
    }

    func summary() -> String {
        if completedLessons.isEmpty {
            return "\(learnerName) has not started yet."
        }

        return "\(learnerName) completed \(completedCount)/\(totalLessonCount) lessons (\(Int(percent))%)."
    }
}

var progress = CourseProgress(
    learnerName: "Nandar",
    completedLessons: ["Intro", "Variables", "Arrays"],
    totalLessonCount: 10
)

print(progress.summary())

for lesson in progress.completedLessons {
    print("Done: \(lesson)")
}

CourseProgress struct က learner name, completed lessons, total lesson count တွေကိုသိမ်းပါတယ်။ completedCount နဲ့ percent က computed properties ပါ။ summary() method က progress အခြေအနေကို user-facing text အဖြစ်ပြန်ပေးပါတယ်။

You should see
Nandar completed 3/10 lessons (30%). Done: Intro Done: Variables Done: Arrays

နောက်တစ်ဆင့်

နောက်တစ်ဆင့်အနေနဲ့ addCompletedLesson() method တစ်ခုထည့်ပြီး lesson အသစ်ကို duplicate မဖြစ်အောင်စစ်ပါ။ ပြီးရင် SwiftUI List view ထဲမှာ ဒီ data ကိုပြနိုင်အောင်ကြိုးစားပါ။

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • totalLessonCount ကို 0 ထားပြီး percent တွက်ရင် division by zero issue ဖြစ်နိုင်ပါတယ်။ Real project မှာ validation ထည့်သင့်ပါတယ်။
Mini Project | Thuta Learning