1. 程式人生 > 實用技巧 >Sagit.Framework For IOS 開發框架入門教程9:全域性物件Sagit

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; #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開頭。