Re: [問題] 請問Cocoa程式要如何一直做同件事情?

看板MacDev作者 (...)時間16年前 (2008/05/11 22:11), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串5/7 (看更多)
※ 引述《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
文章代碼(AID): #189lv_DD (MacDev)
討論串 (同標題文章)
文章代碼(AID): #189lv_DD (MacDev)