在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>通訊/手機編程>

關(guān)于iOS開發(fā)單例使用問題

大小:0.08 MB 人氣: 2017-09-25 需要積分:1

  原文鏈接:Avoiding Singleton Abuse

  

  導(dǎo)語

  單例(Singletons),是Cocoa的核心模式之一。在iOS上,單例十分常見,比如:UIApplication,NSFileManager等等。雖然它們用起來十分方便,但實際上它們有許多問題需要注意。所以在你下次自動補全dispatch_once代碼片段的時候,想一下這樣會導(dǎo)致什么后果。

  什么是單例

  在《設(shè)計模式》一書中給出了單例的定義:

  單例模式:保證一個類僅有一個實例,并提供一個訪問它的全局訪問點。

  單例模式提供了一個訪問點,供客戶類為共享資源生成唯一實例,并通過它來對共享資源進(jìn)行訪問,這一模式提供了靈活性。

  在objective-c中,可以使用以下代碼創(chuàng)建一個單例:

  +(instancetype)sharedInstance

  {

  static dispatch_once_t once;

  static id sharedInstance;

  dispatch_once(&once, ^{

  sharedInstance = [[self alloc]init];

  });

  return sharedInstance;

  }

  當(dāng)類只能有一個實例,而且必須從一個訪問點對其進(jìn)行訪問時使用單例就顯得十分方便,因為使用單例保證了訪問點的唯一、一致且為人熟知。

  單例中的問題

  全局狀態(tài)

  首先我們都應(yīng)該達(dá)成一個共識“全局可變狀態(tài)”是危險的,因為這樣會讓程序變得難以理解和調(diào)試,就削減狀態(tài)性代碼上,面向?qū)ο?a href='http://www.xsypw.cn/v/tag/1315/' target='_blank' class='arckwlink_none'>編程應(yīng)該向函數(shù)式編程學(xué)習(xí)。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?
      主站蜘蛛池模板: 欧美性video精品| 久久久久久久国产精品电影| 亚洲第一成人影院| 亚洲激情五月| 色天使在线播放| 免费任我爽橹视频在线观看| 久久久夜色精品国产噜噜| 免播放器av少妇影院| 四虎永久免费影院| 色爱区综合| 美女网站黄页| 国产精品怡红院永久免费| 一本到中文字幕高清不卡在线| 天天干天天操天天摸| www成人在线观看| 美女视频很黄很a免费国产| 久久88色综合色鬼| 6080伦理久久亚洲精品| wwwwww色| 天天做夜夜爱| 午夜剧场官网| 夜夜夜夜爽| 人人做人人爽人人爱| 欧美性猛交ⅹxxx乱大交免费| 欧洲亚洲一区| 特级黄| 精品无码三级在线观看视频| 在线亚洲小视频| 成人亚洲网站www在线观看| 国产午夜精品一区二区| 男人日女人视频在线观看| www色中色| 天天干夜夜躁| 色在线视频网站| 国产色婷婷精品综合在线观看| 午夜精品久久久久久毛片| 91md天美精东蜜桃传媒在线| 扒开双腿猛进入jk校视频| 日本a级片视频| 永久国产| 欧美人与z0xxxx另类|