Sagit.Framework For IOS 開發框架入門教程9:全域性物件Sagit
阿新 • • 發佈:2020-08-11
前言:
本文簡單介紹一下全域性物件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; #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,還有兩個方法:
延時執行程式碼和主執行緒執行程式碼。
3、程式碼示例:
延時1秒後在主執行緒上執行程式碼:
主執行緒裡執行彈窗。
對於一些可以全域性單例的,可以通過擴充套件方法,實現到:Sagit.XXX開頭。