一、使用方式
1.宣告nstimer方法
static
cgfloat
sintervaltime =
15.f
; //
定時重新整理時間間隔
@property
(nonatomic
, strong
) nstimer
*querynoticetimer;
2.開啟定時器,初始化定時器方法,注意一點是一定要先停止定時器判斷,再開啟,否則會出現記憶體洩漏噠,userinfo欄位是傳遞資料時會用到,當呼叫定時器時候,需要傳遞引數時,可以生命userinfo方法。
- (void
)startquerytimer
}3.停止定時器,先判斷下這個物件是否存在,存在的話釋放記憶體,invalidate 負責將定時器從執行迴圈中移除,然後一定要將其設定為空指標操作,才能真正釋放此物件
- (void
)stopquerytimer
}4.使用場景:讓此頁面定期重新整理網路請求,這種情況需要在 生命週期 頁面開啟前載入定時器,然後在頁面將要消失期間停止定時器,以防止記憶體洩漏,如下是頁面使用定時器的方法
- (void
)scrollviewdidscroll:(
uiscrollview
*)scrollview
- (void
bool
)animated
- (void
bool
)animated
}- (
void
)releaseself
二、我的想法
定時器實現起來並不難,我用的是最簡單的方法,oc中有五種方法來初始化定時器,這個方法不需要手動呼叫fair,會自動執行,並且自動加入主迴圈池,較為便捷,其他方法某些需要手動加入迴圈池,或者呼叫fair,很容易出現問題,能用簡潔的方式解決,就不要用複雜的方法。定時器比較容易記憶體洩漏,所以控制記憶體洩漏是定時器需要注意的操作。
三、思考與行動:
1.這個定時器的原理是什麼樣的?為什麼不能通過sleep()函式來模擬定時器,通過for迴圈來實現此功能?
2.ios 的定時器和android的定時器實現機制是否有區別?區別在**?為什麼會有差異?
3.你用定時器的時候,踩到了哪些坑?這篇文還有哪些需要完善的地方?
4.分別通過5種oc的定時器方法來實現定時器功能,並講述其區別。
lftp簡易使用方法
原貼 http doc.linuxpk.com 5941.html 首先安裝lftp 配置檔案為 ftp rc set ftp charset gbk set file charset utf 8 alias cn set ftp charset gbk set file charset utf 8...
JSONCPP 簡易使用
1 編譯jsoncpp mkdir usr jsoncpp cp r include usr jsoncpp cp r libs usr jsoncpp 2 jsoncpp簡單例項 1 反序列化json物件 比如乙個json物件的字串序列如下,其中 array 表示json物件中的陣列 那怎麼分別取...
hydra 簡易使用
暴力破解用的協議 rdp 個人筆記,邊使用hydra邊做,準確性無保障。安裝kali系統 安裝的kali linux 64 bit installer 版本2020.4 1.具體位置 2.hydra和hydra gtk hydra 點開直接是命令列介面,相當於直接使用命令列執行。可以直接開終端,使用...