看了一会终于看懂了protocol的用法了,赶紧记下来,别忘了...
在传递信息的文件中用protocol定义需要传递的参数方法,在这里用表示为:
protocol AddItemViewControllerDelegate: class {
func addItemViewControllerDidCancel(controller: AddItemViewController)
func addItemViewController(controller: AddItemViewController, didFinishAddingItem item: ChecklistItem)
}
定义一个参数 weak var delegate: AddItemViewControllerDelegate?
定义了两个方法,addItemViewControllerDidCancel用于点击Cancel键返回,addItemViewController用于点击Add键后添加内容到ChecklistViewController中。
在@IBAction func cancel()中,用
delegate?.addItemViewControllerDidCancel(self)传递数据给protocol
在@IBAction func done()中,用
delegate?.addItemViewController(self, didFinishAddingItem: item)传递数据给protocol
然后在ChecklistViewController中,加入Delegate的定义
class ChecklistViewController: UITableViewController, AddItemViewControllerDelegate{}