zoukankan      html  css  js  c++  java
  • Sagit.Framework For IOS 开发框架入门教程9:全局对象Sagit

    前言:

    本文简单介绍一下全局对象Sagit。

    1、全局对象Sagit介绍:

    Sagit框架,敲代码的两个起手势,就是Sagit和sagit。

    大写的Sagit,是全局单例,用于业务处理。

    小写的sagit,是控制器视图,用于UI布局。

    2、Sagit的基本属性或方法:

    //!所有单例的入口,可以扩展此类,来增加不同的方法,达到如:Sagit.Global之类的用法。
    @interface Sagit : NSObject
    //!单例,目前没啥用。
    //+ (instancetype)share;
    //@property(nonatomic,weak)UIView* Layout;
    
    //!默认对应于NSCache沙盒目录(用于存档数据到plist文件中)
    +(STFile*)File;
    //!用于存档到内存的全局唯一字典。
    +(STCache*)Cache;
    //!用于发起网络请求的单例类,,在STController中时用self.http调用
    +(STHttp*)Http;
    //!用于弹窗消息的单例类,在STController中时用self.msgBox调用
    +(STMsgBox*)MsgBox;

    //!用于GPS坐标定位
    +(STLocation*)Location;

    #pragma mark 扩展一些全局的方法
    typedef void (^DelayExecuteBlock)();
    //延时N秒后执行
    +(void)delayExecute:(double)second onMainThread:(BOOL)onMainThread block:(DelayExecuteBlock)block;
    //回主线程处理代码
    +(void)runOnMainThread:(DelayExecuteBlock)block;
    @end

    除上上文介绍到的Sagit.MsgBox、Sagit.Http、Sagit.Cache、Sagit.File,Sagit.Location 还有两个方法:

    延时执行代码和主线程运行代码。

    3、代码示例:

    延时1秒后在主线程上运行代码:

     主线程里运行弹窗。

     对于一些可以全局单例的,可以通过扩展方法,实现到:Sagit.XXX 开头。

  • 相关阅读:
    第十一篇:Mysql系列
    mysql八:ORM框架SQLAlchemy
    mysql七:视图、触发器、事务、存储过程、函数
    mysql六:数据备份、pymysql模块
    工厂方法模式
    execution表达式
    CentOS系统下安装SVN及常用命令
    Spring Boot 表单验证、AOP统一处理请求日志、单元测试
    SSH文件上传代码片段
    JPA 实体映射
  • 原文地址:https://www.cnblogs.com/cyq1162/p/13484713.html
Copyright © 2011-2022 走看看