iOS --- 總結Swift中常用的全域函數和extension(持續更新中)
將iOS開發中常用的Swift全域函數和extension(因Swift中不能使用宏定義)整理如下。
而對於Objective-C,其宏定義總結請參考部落格iOS — 總結Objective-C中常用的宏定義(持續更新中)。
//// Global.swift//// useful global methods and extension for Chris Hu//import Foundationfunc isIPhone4() -> Bool { return UIScreen.mainScreen().currentMode?.size == CGSizeMake(640, 960)}func isIPhone5() -> Bool { return UIScreen.mainScreen().currentMode?.size == CGSizeMake(640, 1136)}func isIPhone6() -> Bool { return UIScreen.mainScreen().currentMode?.size == CGSizeMake(750, 1334)}func isIPhone6Plus() -> Bool { return UIScreen.mainScreen().currentMode?.size == CGSizeMake(1242, 2208)}func isIPhone6PlusBigMode() -> Bool { return UIScreen.mainScreen().currentMode?.size == CGSizeMake(1125, 2001)}func currentLanguage() -> String { return NSLocale.preferredLanguages().first!}func systemVersion() -> String { return UIDevice.currentDevice().systemVersion}func appVersion() -> String { return String(NSBundle.mainBundle().infoDictionary!["CFBundleShortVersionString"]!)}extension UIColor { public convenience init(hexString: UInt32, alpha: CGFloat = 1.0) { let red = CGFloat((hexString & 0xFF0000) >> 16) / 255.0 let green = CGFloat((hexString & 0x00FF00) >> 8 ) / 255.0 let blue = CGFloat((hexString & 0x0000FF) ) / 255.0 self.init(red: red, green: green, blue: blue, alpha: alpha) }}extension UITableViewDataSource { // return total rows in the tableView func totalRows(tableView: UITableView) -> Int { let totalSections = self.numberOfSectionsInTableView!(tableView) ?? 1 var section = 0, total = 0 while section < totalSections { total += self.tableView(tableView, numberOfRowsInSection: section) section++ } return total }}