我們做一個專案如果把所有的檔案都放在一起,想要編讀就會變得非常麻煩。這時候我們就需要MVC用來幫助開發者將程式碼分成不同的職責區塊,讓程式更容易維護、擴充與測試。
class AlarmData: Object {
@Persisted var alarmTime: String = "" // 鬧鐘要響的時間
@Persisted var creatTime: String = "" // 創建鬧鐘的時間,方便進行排序
@Persisted var name: String = "" // 給自己設定的鬧鐘設定名稱,比如說:睡覺、工作
@Persisted var repeatDays: List<Bool> = List<Bool>() // 後面設定重複天數的true or false
@Persisted var sound: String = "" // 選擇鬧鐘響鈴聲的
@Persisted var isEnabled: Bool = true // 控制鬧鐘的開關
@Persisted var snoozeEnabled: Bool = true // 稍後提醒
@objc dynamic var isOn: Bool = true
// 讓我們可以在其他.swift檔也能使用參數
convenience init(alarmTime: String, creatTime: String, name: String, repeatDays: [Bool] = Array(repeating: false, count: 7), sound: String, snoozeEnabled: Bool = true) {
self.init()
self.alarmTime = alarmTime
self.creatTime = creatTime
self.name = name
self.sound = sound
self.repeatDays.append(objectsIn: repeatDays)
self.snoozeEnabled = snoozeEnabled
}
}
如:時鐘的資料庫
透過MVC的架構我們可以專案更易於管理,Model、View、Controller 各自負責不同的角色,不會彼此混雜,當專案越來越大時,依然能保持程式碼的整潔與可讀性。