1. 程式人生 > >Swift-定義類似於object-c的巨集檔案

Swift-定義類似於object-c的巨集檔案


import UIKit

螢幕寬度
let ScreenWidth:CGFloat = UIScreen.main.bounds.size.width

螢幕高度
let ScreenHeight:CGFloat = UIScreen.main.bounds.size.height

安全距離
let SafeAreaTopHeight    = CGFloat((ScreenHeight == 812.0 ? 88.0 : 64.0))
let SafeAreaBottomHeight = CGFloat((ScreenHeight == 812.0 ? 34.0 : 0.0))

let lineGrayColor:CGColor = RGB(R:232.0,G:232.0,B:232.0) as! CGColor

//MARK:RGB簡化
func RGB(R:CGFloat,G:CGFloat,B:CGFloat) -> UIColor {
    return UIColor.init(red: R/255.0, green: G/255.0, blue: B/255.0, alpha: 1.0)
}
//MARK:判斷系統的版本
func IsIOS7After() -> Bool {
    return (UIDevice.current.systemVersion as NSString).doubleValue >= 7.0
}

func MyPrint<N>(message:N,fileName:String = #file,methodName:String = #function,lineNumber:Int = #line){
    #if DebugType
        print("行號:\(lineNumber)列印資訊:\(message)");
//          print("\(fileName as NSString)\n方法:\(methodName)\n行號:\(lineNumber)\n列印資訊:\(message)");
    #endif
}

//private 私有的
//類似於巨集定義 全域性let來宣告常量來取代

//宣告僅除錯的時候列印
//然後target 然後 build setting 然後搜尋custom 這個時候會有個custom flag選項  然後在Debug選項中輸入-加大寫的D 後邊跟你自己定義的巨集的名字

//建立橋接檔案
//1.建立Swift-Bridging-Object_C.h檔案
//2.在build Setting中 Object-C Bridging Header 加入  檔案路徑+Swift-Bridging-Object_C.h

//建立模型的時候屬性前加@objc 否則模型轉字典的時候value為nil的時候key:value鍵值對將沒有