NSTimer 的簡易使用方法

2022-02-12 05:17:25 字數 1201 閱讀 4674

一、使用方式

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 點開直接是命令列介面,相當於直接使用命令列執行。可以直接開終端,使用...