看板 MacDev 關於我們 聯絡資訊
※ 引述《Dannier (貓尾巴~)》之銘言: : 不好意思小弟不才 : 研究了一下了解了一些NSRunLoop : 可是還是有問題 : 我想要按一個扭開始一直做某件事情 : 按另一個則停止 : 但我還是不知道要怎麼讓它停止NSRunLoop : 實在想不出辦法來 : 想要請教高手指點....感激不盡(躬) 當AP被執行後,AP會自動執行一個NSRunLoop 這個RunLoop是不可以被停止的... 依照你的Code來看,你只是增加了一個Timer,然後把它加入了RunLoop中... RunLoop依照你的Timer設定值及Mode,決定何時呼叫你註冊的Function。 要停掉Timer,參見NSTimer的文件,- (void)invalidate就是拿來停掉Timer的.. 至於要不要新增一個Thread,要看你想要做的事來判斷... 如果只是定期執行,而且動作不是很複雜,可以用NSTimer解決, 不需要新增一個thread 如果是一直在執行,或是執行需要花費較長的時間,還是使用Theard會比較好... 因為一個thread再一個時間點只能做一件事... 如果所需要執行的時間過久,那在這個時間點UI就會被Lock,無法接受其它動作... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 117.81.128.202