Re: [問題] 如何只執行一個Method一次?
※ 引述《kiii210 (Johnny.T)》之銘言:
: 碰到了一個問題,目前做的功能是在tableView往下scroll到某個點的時候
: 執行某個method,因為是要抓資料,我希望這個method只執行一次,
: 但是scroll的時候很快,就會一直不斷重複執行該method...
: 想要在到某個點執行method後,不再執行他,只能執行一次,等到我說可以再執行
: 試過dispatch_once,不過不知道要怎麼讓它可以在我資料讀取完後 再回來執行?
: 也嘗試過BOOL來判斷,但是scroll的速度實在太快了,還是有機會會跑到判斷式內...
: 有人可以指點一下嗎?謝謝
可以試著 method 內加synchronized鎖定試試看
- (void)myMethod
{
@synchronized(something) //something 必需是一個物件,scope則看你的需求
{
// write what you want to do
}
}
另外,你現在對BOOL的操定有鎖定嗎? 第一眼看到,直覺上是對BOOL的沒有鎖住造成的...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.101.219
討論串 (同標題文章)
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章