MBProgressHUD的两个注意点

注意点一
removeFromSuperview

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中对事件响应具有举足轻重的作用,通常两个重叠的控件,处在上层的会优先响应;

      从上面文档的描述,我们可以看到,这两个特性,也是view在操作时候的核心,即一个view的操作关系到两个方面,视图结构和响应者链。
      removeFromSuperview,类似一个剪枝,执行此函数,就等于在树形结构中找到该节点,剪去该节点及其子节点,而并非只是剪去该节点自己。同时,另一个操作就是把该对象从响应者链中移除。

- (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;


注意点二:sleep 和usleep
       sleep()中参数为秒,usleep()中参数为微秒

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

转载于:https://my.oschina.net/iNiL0119/blog/178564

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值