最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Swift Self詳解及簡單實例代碼

 更新時間:2016年12月12日 15:10:30   投稿:lqh  
這篇文章主要介紹了Swift Self詳解及簡單實例代碼的相關資料,這里對self 進行了詳細介紹并附實例代碼,需要的朋友可以參考下

Swift中Self的使用

用于消除訪問屬性,調用方法時所產生的歧義。

當函數(shù)的參數(shù)名和自身的屬性名同名時,例如:

/*
使用self指明被訪問的是自身屬性還是參數(shù)
*/
class AClass {
 var greeting: String
 init(greeting: String) {
  // 使用self區(qū)分屬性和參數(shù)
   self.greeting = greeting
 }
}

在便利構造函數(shù)中調用自身的指定構造函數(shù)時,例如:

 convenience init() {
   /*
   必須使用self,因為按照二段構造的規(guī)則,
   在第一階段初始化完成之前,
   無法使用self,
   而且由于面向對象語言的特性,
   所有的初始化方法名都是init,
   沒有self,系統(tǒng)不知道調用誰的init
   */
   self.init()
   // 進行初始化
 }

閉包中訪問自身屬性和調用自身方法時,例如:

 UIView.animateWithDuration(0.25) { () -> Void in
     /*
     閉包可能被拋出,其必須知道其中的方法和屬性屬于誰,
     所以要用self
     */
     self.layoutIfNeeded()
   }

被mutating修飾的值類型方法中,修改self屬性時,例如:

struct Point {
 var x = 0.0, y = 0.0
 mutating func moveByX(deltaX: Double, y deltaY: Double) {
   self = Point(x: x + deltaX, y: y + deltaY)
 }
}

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

最新評論

思南县| 嘉义市| 哈尔滨市| 平湖市| 海伦市| 垫江县| 深水埗区| 长沙县| 嵩明县| 海原县| 积石山| 汽车| 平顺县| 五大连池市| 都兰县| 特克斯县| 河北省| 南皮县| 黄大仙区| 平阳县| 庆安县| 阿鲁科尔沁旗| 周至县| 新竹县| 个旧市| 格尔木市| 永善县| 合阳县| 江达县| 贵阳市| 老河口市| 甘孜县| 青龙| 卢氏县| 阿拉善右旗| 达尔| 古蔺县| 汶川县| 法库县| 桑植县| 五莲县|