@IBAction func doneButtonDidTap(_ sender: UIBarButtonItem) {
if let title = titleTextField.text, !title.isEmpty {
if let todoItem = todoItem {
todoItem.title = title
todoItem.isDone = isDoneSwitch.isOn
delegate?.addNewItemViewController(controller: self, didEdit: todoItem)
} else {
let todoItem = TodoItem(title: title, isDone: isDoneSwitch.isOn)
delegate?.addNewItemViewController(controller: self, didAdd: todoItem)
}
}
}
if ซ้อน if ดูไม่ค่อยสวย เราเขียนให้เป็น Swifty ได้อีกหน่อย ด้วยการใช้ guard ถ้าเราไม่สามารถอ่านค่า title ได้ หรือ title เป็นค่าว่างเราก็จะไม่ทำอะไรต่อ Return ไปเลย
@IBAction func doneButtonDidTap(_ sender: UIBarButtonItem) {
guard let title = titleTextField.text, !title.isEmpty else {
return
}
if let todoItem = todoItem {
todoItem.title = title
todoItem.isDone = isDoneSwitch.isOn
delegate?.addNewItemViewController(controller: self, didEdit: todoItem)
} else {
let todoItem = TodoItem(title: title, isDone: isDoneSwitch.isOn)
delegate?.addNewItemViewController(controller: self, didAdd: todoItem)
}
}