作者atst2 (atst2)
看板MacDev
标题Re: [问题] 如何只执行一个Method一次?
时间Wed Dec 18 16:09:49 2013
※ 引述《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