MBProgressHUD的兩個注意點

注意點一
removeFromSuperviewios

Unlinks the receiver from its superview and its window, and removes it from the responder chain.
譯:把當前view從它的父view和窗口中移除,同時也把它從響應事件操做的響應者鏈中移除。
分析:設計模式

      這裏有兩個關鍵點,能夠幫助咱們理解在ios當中view是怎麼來組織的:a.視圖的組織形式;b.響應者鏈。數據結構

      在ios當中,視圖的設計模式能夠看作是組件模式,即以樹做爲存儲的數據結構,這種數據結構具備明確的兩個特色:
      1.父子關係分明,從根節點出發,經過葉節點向下擴展,同一枝的上一個節點就是下一個節點的superview,下一個節點就是上一個節點的subview;不一樣枝若是同層,則爲兄弟節點。
      2.layer關係分明,layer在ios中對事件響應具備舉足輕重的做用,一般兩個重疊的控件,處在上層的會優先響應;app

      從上面文檔的描述,咱們能夠看到,這兩個特性,也是view在操做時候的核心,即一個view的操做關係到兩個方面,視圖結構和響應者鏈。
      removeFromSuperview,相似一個剪枝,執行此函數,就等於在樹形結構中找到該節點,剪去該節點及其子節點,而並不是只是剪去該節點本身。同時,另外一個操做就是把該對象從響應者鏈中移除。ide

- (void)removeFromSuperview
Discussion
If the receiver’s superview is not nil, the superview releases the receiver. If you plan to reuse a view, be sure to retain it before calling this method and release it again later as appropriate.
譯:若是當前view對象的父視圖不爲空,則父視圖會release一次當前視圖對象。若是你還想重用當前view,你應該在調用 removeFromSuperview以前,retain一次當前view對象,但不要忘記,在恰當的時候要release它,以確保沒有內存泄露。函數

Never call this method from inside your view’s drawRect: method.
譯:永遠不要在你的view的drawRect方法中調用removeFromSuperview;this


注意點二:sleep 和usleep
       sleep()中參數爲秒,usleep()中參數爲微秒spa

參考文章:http://blog.csdn.net/likendsl/article/details/7573504 .net

相關文章
相關標籤/搜索