随笔 - 714  文章 - 0  评论 - 12812  阅读 - 301万 

前言:

本文简单介绍一下全局对象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 开头。

 

posted on   路过秋天  阅读(474)  评论(0编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
历史上的今天:
2016-08-11 ASP.NET Aries 2.0 发布(原来的源码SVN已关闭,开源源码已迁移到GitHub)
2013-08-11 .NET各大平台数据列表控件绑定原理及比较(WebForm、Winform、WPF)
路过秋天
点击右上角即可分享
微信分享提示