swift使用注意事項

swift使用注意事項:

在方法的func關鍵字之前加上關鍵字static或者class都可以用於指定類方法.不同的是用class關鍵字指定的類方法可以被子類重寫

我們可以知道被static指定的類方法包含final關鍵字的特性–防止被重寫.

Swift調用其它類裏面的方法時,不需要先import這個類就可以直接調用

typealias是用來爲已經存在的類型重新定義名字的,通過命名,可以使代碼變得更加清晰.例如:typealias Location = CGPoint

extension相當於OC裏面的分類category
使用Extension的注意事項

  • Extension中不能寫構造函數與析構函數,這兩個函數必須在聲明的class中進行使用
  • Extension中可以寫便利構造函數.
  • Extension中不能定義屬性,如果非要定義,請使用Runtime的那一套原則
  • Extension中可以定義只讀計算屬性

swift使用Bundle.main.path方法獲取工程文件路徑

1、沒有參數的宏
//oc中的宏定義
#define kIOS7 [UIDevice currentDevice].systemVersion.doubleValue>=7.0 ? 1 :0
#define kIOS8 [UIDevice currentDevice].systemVersion.doubleValue>=8.0 ? 1 :0
#define kScreenHeight [UIScreen mainScreen].bounds.size.height
#define kScreenWidth [UIScreen mainScreen].bounds.size.width
//轉換成swift的寫法
let kIOS7 = Double(UIDevice().systemVersion)>=7.0 ? 1 :0
let kIOS8 = Double(UIDevice().systemVersion)>=8.0 ? 1 :0
let kScreenHeight = UIScreen.mainScreen().bounds.size.height
let kScreenWidth = UIScreen.mainScreen().bounds.size.width
2、接收參數的宏
//oc寫法
#define RGBCOLOR(r,g,b) [UIColor colorWithRed:®/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1]
//swift中的寫法
func RGBCOLOR(r:CGFloat,_ g:CGFloat,_ b:CGFloat) -> UIColor
{
return UIColor(red: ®/255.0, green: (g)/255.0, blue: (b)/255.0, alpha: 1.0)
}

as 是向上轉型——子類向父類轉型
as! 和 as? 是向下轉型——父類向子類轉型(as!轉型失敗會報錯,as?轉型失敗不會報錯,會返回一個nil對象)

defer{xxx} :defer 的意思是在其所在的函數return之前調用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章