關於NSTimer的使用注意事項

2021-06-07 06:33:44 字數 704 閱讀 8222

根據蘋果官方文件說明:使用nstimer時,timer會自動retain一次target和userinfo引數。由此而導致可能在使用nstimer時,出現uiviewcontroller不能釋放的問題。

問題**示例:

***.h

......

@property(nonatomic, retain) nstimer * timer;

......

***.m

......

self.timer = [nstimer scheduledtimerwithtimeinterval: 0

target: self

selector: @selector(tokenviewdown:)

userinfo: parmdict

repeats: yes];

......

如果想要銷毀***, 則必須先將timer置為失效,否則***就一直占用記憶體而不會釋放。造成邏輯上的記憶體洩漏。該洩漏不能用xcode及instruments測出來。

解決辦法:在明確需要銷毀的**前,將timer置為失效:

[***.timer invalidate];

[*** release];

關於better scroll的使用注意事項

1.動態載入資料需要重新整理滾動區域 this.nexttick 2.滾動區域上的事件,需要在註冊滾動的時候,新增 click true mounted 3.預設 y軸 滾動,需要x軸滾動,新增 scrollx true 4.上拉載入功能,註冊時需要申明,pullupload 可以為true 或者如...

Protocol Buffers使用注意事項

protocol buffers做為廣泛使用的乙個序列化開源庫,提供了很多語言下的支援,本文就談談msvc c 使用pb遇到的問題,當然這些問題因為每個人的使用模式不同,可能都不一樣,本文也不討論怎麼寫proto及編譯。我們使用pb做序列化可以把pb生成靜態庫或者動態庫 libprotobuf.dl...

C using namespace使用注意事項

一 using 用法 1.引用命名空間。如 using system 2.自動釋放物件使用的資源。如 using sqlconnection connection new sqlconnection connectionstring connection.open 當鏈結使用完畢以後,將自動釋放sq...