Re: [問題] 如何只執行一個Method一次?

看板MacDev作者 (atst2)時間11年前 (2013/12/18 16:09), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
※ 引述《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
文章代碼(AID): #1IiLXGxh (MacDev)
文章代碼(AID): #1IiLXGxh (MacDev)