Swift函数提前返回技巧详解

Swift 函数的提前返回,算是写函数时一个挺实用的小技巧。尤其异常或无效输入时,早点 return 掉,后面代码就干净多了。你不用在每个 if 里面套一层逻辑,也不用来回看闭合的大括号,逻辑清爽不少。

guard提前返回,适合那种“非得满足某个条件才能继续”的场景。就像通知里的note变更时,ID 不对、数据拉不到,直接走人,不浪费计算资源。

文章里举的handleChangeNotification就是个好例子。本来一堆嵌套,看着就烦,用了guard之后,逻辑结构清晰了不少。你一眼就能看出:这里是条件不符直接 return,后面是主流程。

再加一个小优化,把解析Notification的逻辑封到扩展里,让主函数只关注“做什么”而不是“怎么做”。像下面这样:

private extension Notification {
  var noteID: Int? {
    let info = userInfo?["note"] as? [String : Any]
    return info?["id"] as? Int
  }
}

再配合上面那个guard用法,代码就更有条理了。你想调试也方便,直接在guard那下断点,看谁没满足条件就行。

,函数提前返回在 Swift 里还挺香的。如果你代码逻辑有点复杂、经常判断一堆条件,不妨试试。尤其适合用在异步事件、通知、网络响应那一类。

pdf 文件大小:73.89KB