3、 test equality of Swift enums with associated values
// Before Swift 4.1enumSimpleToken:Equatable{caseName(String)caseNumber(Int)}publicfunc==(lhs:SimpleToken, rhs:SimpleToken)->Bool{switch(lhs, rhs){caselet(.Name(a),.Name(b)),let(.Number(a),.Number(b)):return a == b
default:returnfalse}}// Swift 4.1+enumSimpleToken:Equatable{caseName(String)caseNumber(Int)}
4、获取 GMT+08:00 格式的时区
let localTimeZoneFormatter =DateFormatter()
localTimeZoneFormatter.dateFormat ="ZZZZ"return localTimeZoneFormatter.string(from:Date())
5、UITabBar 上方添加分割线
if#available(iOS 13.0,*){let appearance =self.tabBar.standardAppearance.copy()
appearance.shadowImage =.colorForTabBar(color:UIColor(rgb:0xE2E5F0))
tabBar.standardAppearance = appearance
}else{
tabBar.shadowImage =.colorForTabBar(color:UIColor(rgb:0xE2E5F0))}extensionUIImage{classfunccolorForTabBar(color:UIColor)->UIImage{let rect =CGRect(x:0.0, y:0.0, width:1.0, height:0.5)UIGraphicsBeginImageContext(rect.size)let context =UIGraphicsGetCurrentContext()
context!.setFillColor(color.cgColor)
context!.fill(rect)let image =UIGraphicsGetImageFromCurrentImageContext()UIGraphicsEndImageContext()return image!}}extensionUIColor{convenienceinit(red:Int, green:Int, blue:Int){assert(red >=0&& red <=255,"Invalid red component")assert(green >=0&& green <=255,"Invalid green component")assert(blue >=0&& blue <=255,"Invalid blue component")self.init(red:CGFloat(red)/255.0, green:CGFloat(green)/255.0, blue:CGFloat(blue)/255.0, alpha:1.0)}convenienceinit(rgb:Int){self.init(
red:(rgb >>16)&0xFF,
green:(rgb >>8)&0xFF,
blue: rgb &0xFF)}}