第三方类库SVProgressHUD的学习

来源:互联网 发布:网络游戏源码 编辑:程序博客网 时间:2024/06/05 00:48

SVProgressHUD这个类库用的比较多了。。用起来很简单。。

1.dispatch_once 创建单例

void dispatch_once( dispatch_once_t *predicate, dispatch_block_t block);
    该函数接收一个dispatch_once用于检查该代码块是否已经被调度的谓词(是一个长整型,实际上作为BOOL使用)。它还接收一个希望在应用的生命周期内仅被调度一次的代码块,对于本例就用于shared实例的实例化。
dispatch_once不仅意味着代码仅会被运行一次,而且还是线程安全的,这就意味着你不需要使用诸如@synchronized之类的来防止使用多个线程或者队列时不同步的问题。Apple的GCD Documentation证实了这一点:如果被多个线程调用,该函数会同步等等直至代码块完成。
  实际要如何使用这些呢?好吧,假设有一个AccountManager类,你想在整个应用中访问该类的共享实例。你可以按如下代码简单实现一个类方法:

+ (SVProgressHUD*)sharedView {

    static dispatch_once_t once;

    static SVProgressHUD *sharedView;

    dispatch_once(&once, ^ { 

sharedView = [[self alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 

    });

    return sharedView;

}

这就意味着你任何时候访问共享实例,需要做的仅是:
SVProgressHUD *svprogress = [SVProgressHUDsharedView];
    就这些,你现在在应用中就有一个共享的实例,该实例只会被创建一次。
    该方法有很多优势: 
           1 线程安全
           2 很好满足静态分析器要求
           3 和自动引用计数(ARC)兼容 
           4 仅需要少量代码 
        该方法的劣势就是它仍然运行创建一个非共享的实例:
    SVProgressHUD *svprogress = [SVProgressHUD sharedView];
        有些时候你希望有这种行为,但如果正在想要的是仅一个实例被实例化就需要注意这点。

    2.一堆showXXXX的函数都是围绕着

    - (void)showProgress:(float)progress status:(NSString*)string maskType:(SVProgressHUDMaskType)hudMaskType ;

    progress>0   

    这里里面先是创建了一个UIControl类型的overlayView 他执行的功能就是发一个SVProgressHUDDidReceiveTouchEventNotification的通知

    然后这个东西在那里接收还没有找到 //TODO

    //猜测这个应该是用于你自己需要手动把这个view移掉或者进行其他工作时你可以接收这个通知

    之后是创建了一个遍历数组的枚举

    NSEnumerator *frontToBackWindows = [[[UIApplication sharedApplication]windows]reverseObjectEnumerator];

    按照索引号从大到小访问UIApplication里的Windows

    寻找到UIWindowLevelNormal的Window把overlayView添加进去

    再向下就是一些添加,修改属性的东西.

    //中间还遇到了

    __IPHONE_OS_VERSION_MIN_REQUIRED  //当前系统支持的最小版本

    __IPHONE_OS_VERSION_MAX_REQUIRED  //当前系统支持的最大版本




    0 0
    原创粉丝点击
    热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 年轻大嫂动漫 亲戚的姑母在线播放字幕2 强睡大嫂在线看 动漫大嫂后篇 年轻的大嫂中国 韩国电影青春中国字幕 小弟睡大嫂的电视剧 强入朋友妻在线播放 中午阳台上退掉表嫂裙子 被老公在厨房要到腿软 后妈的味道中文字幕 妻子和她的学生中文字幕 朋友的妻子和母亲hd高清中文字幕 丈夫面前侵犯入侵在线看 兄弟侵犯大嫂5中文字幕在线 暴风雨夜与妻子朋友独处 年轻的女老板3中文字 兄弟侵犯大嫂中文字幕迅雷视频 大香煮蕉伊在线网视频推手 91青青城线在人线免费人人人 91青青城人线在人线 95青青成线人人 青青成线小说 青青成线人线免 第一成一肉区免 费91 欧洲第一肉场 欧洲第一成肉区免 费91ap 免费欧洲第一成肉区免 费91 欧洲第一成一肉区免 费9 欧洲第一成一肉区免 费91人雨马 欧洲笫一肉区l1041 久碰人人澡人人澡人人澡人人澡 看欧洲第一成肉区免 免费在 线人擦人人搞人视频人人人 人人差人人搞人视频 人人看人人揉人人捏动漫 超越人人夜人人看视频 人人玩人人弄人槽视频动漫 草人人拍人人躁 人人人人看人谢97 免费在 线人擦人人搞人视频动漫视频