Swift函数提前返回实例详解

2020-01-09 00:17:37于海丽

简评:

函数是一个组织在一起语句集合,以执行特定任务。Swift 函数类似于简单 C 函数以及复杂的 Objective C 语言函数。 它使我们能够通过函数调用内部的局部和全局参数值。 像其他任何语言一样 swift 函数也遵循相同的步骤。

  • 函数声明:它告诉编译器有关的函数的名称,返回类型和参数。
  • 函数定义:它提供函数的实际主体。

    Swift 函数包含参数类型和返回类型。

    函数提前返回主要的好处是:将每个错误处理进行分离,审查代码时不需要考虑多种复杂异常,我们可以吧注意力集中在也业务逻辑中,调试代码时可以直接在异常中打断点。

    提前返回

    首先来看一下需要改进的代码示例,我们构建一个笔记应用使用 NotificationCenter API,当笔记内容有变化时 Notification 来通知笔记列表变更,代码如下:

    
    class NoteListViewController: UIViewController {
    @objc func handleChangeNotification(_ notification: Notification) {
    let noteInfo = notification.userInfo?["note"] as? [String : Any]
    
    if let id = noteInfo?["id"] as? Int {
    if let note = database.loadNote(withID: id) {
    notes[id] = note
    tableView.reloadData()
    }
    }
    }
    }

    上面的代码可以很好的工作,但是可读性差了点。因为这段代码包含多重缩进和类型转换。我们来尝试改进这段代码。