swift 是编译型语言,所以编译时间相比较 OC 是要增加不少时间的 swift 在 编译的时候花费做多的时间就是,类型推断 关于影响编译速度和统计编译时间的文章在度娘上比比皆是
而一些合适的编码方式,会大量减少编译时间
这里主要是记录一下在日常中用到的并且真切的能够减少编译时间的一些小技巧
?? 使用起来是非常的方便,但是从编译时间上来看,着实增加了不少的编译时间,甚至是成倍,几十倍的增加。但是如果到处使用 let 解包,这样的代码感觉惨不忍睹
那我们就是用函数(方法)来替换 ??
/// 占位字符串 同 ?? 相同功能,但是 ?? 会增加编译时间
public func SMStrNil(_ cur: String?, _ placeHolder: String) -> String {
if let exit = cur {
return exit
} else {
return placeHolder
}
}
/// 占位 Int 同 ?? 相同功能,但是 ?? 会增加编译时间
public func SMIntNil(_ cur: Int?, _ placeHolder: Int) -> Int {
if let exit = cur {
return exit
} else {
return placeHolder
}
}
/// 占位 Double 同 ?? 相同功能,但是 ?? 会增加编译时间
public func SMDoubleNil(_ cur: Double?, _ placeHolder: Double) -> Double {
if let exit = cur {
return exit
} else {
return placeHolder
}
}
/// 占位 Double 同 ?? 相同功能,但是 ?? 会增加编译时间
public func SMCGFloatNil(_ cur: CGFloat?, _ placeHolder: CGFloat) -> CGFloat {
if let exit = cur {
return exit
} else {
return placeHolder
}
}
/// 占位 Bool 同 ?? 相同功能,但是 ?? 会增加编译时间
public func SMBoolNil(_ cur: Bool?, _ placeHolder: Bool) -> Bool {
if let exit = cur {
return exit
} else {
return placeHolder
}
}
/// 占位任意类型,使用此方法可能增加编译时间,故使用指定类型方法 同 ?? 相同功能,但是 ?? 会增加编译时间
public func SMNil<T>(_ cur: T?, _ placeHolder: T) -> T {
if let exit = cur {
return exit
} else {
return placeHolder
}
}
WechatIMG2026.jpeg
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有