当前位置:首页>科技>swift常用命令精简Swift代码的
发布时间:2026-07-21阅读(1)
Swift的语法非常好,从这篇译自normi的同名文章就能看出来。

❌ 不推荐的写法✅ 推荐的写法
❌func doSome(result: (Bool) -> ()) {}✅typealias BoolBlock = (Bool) -> ()/// ....func doSome(result: BoolBlock) {}
func logSome(_ msg: String, detail: String = "default detail") {}logSome("this is msg")
❌func doSome(info: Info) { if let name = info.name { doOther(name: name) }}✅func doSome(info: Info) { guard let name = info.name else { return } doOther(name: name)}
❌public override func viewDidLoad() { super.viewDidLoad() self.view.backgroundColor = .blue let testView = UIView.init() self.view.addSubview(testView)}✅public override func viewDidLoad() { super.viewDidLoad() view.backgroundColor = .blue let testView = UIView() view.addSubview(testView)}
✅enum Style { case cancel case `default`}class LogProvider { static let `default` = LogProvider()}
✅func doSome(info: Info) { let name = info.name ?? "default name"}
❌var text: String?if isMe {text = "Me"} else { text = "other"}✅let text = isMe ? "Me" : "other"
❌view.backgroundColor = UIColor.blue✅view.backgroundColor = .blue
❌class LoginVC: UIViewController, UITextFieldDelegate, UITableViewDataSource, UITableViewDelegate {}✅class LoginVC: UIViewController { /// …}extension LoginVC: UITextFieldDelegate { /// …}extension LoginVC: UITableViewDataSource, UITableViewDelegate { /// …}
❌let name = info.name!✅guard let name = info.name else { print("name is nil") return}
❌var items = Array<String>()var map = Dictionary<String, String>()func doSome() -> Voidlet callback: () -> Void✅var items = [String]()var map = [String : String]()func doSome()let callback: () -> ()
❌func doSome() -> Int {}let index = doSome()if index == -1 { /// fail} else { /// success}✅func doSome() -> Int? {}guard let index = doSome() else { print("fail") return}/// success
Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图