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 里还挺香的。如果你代码逻辑有点复杂、经常判断一堆条件,不妨试试。尤其适合用在异步事件、通知、网络响应那一类。
73.89KB
文件大小:
评论区