本文簡單介紹一下全局對象Sagit。git
Sagit框架,敲代碼的兩個起手勢,就是Sagit和sagit。網絡
大寫的Sagit,是全局單例,用於業務處理。框架
小寫的sagit,是控制器視圖,用於UI佈局。佈局
//!全部單例的入口,能夠擴展此類,來增長不一樣的方法,達到如: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; #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,還有兩個方法:atom
延時執行代碼和主線程運行代碼。spa
延時1秒後在主線程上運行代碼:線程
主線程裏運行彈窗。code
對於一些能夠全局單例的,能夠經過擴展方法,實現到:Sagit.XXX 開頭。對象