擅长:python、mysql、java
<p>所以我得到了我想要的结果,按照下面的结构。就像我在回复评论时所说的:对于后台线程,nshread将不允许您执行某些任务。(即更新某些UI元素、打印等)。所以我使用<code>performSelectorOnMainThread_withObject_waitUntilDone_</code>来处理线程操作之间需要执行的操作。手术时间短,强度不高,对性能影响不大。谢谢你米切尔·考瓦·特乔给我指出了正确的方向!在</p>
<pre><code>def someFunc(self):
i = 0
someSelector = objc.selector(self.someSelector, signature='v@:')
while i < 20:
self.performSelectorOnMainThread_withObject_waitUntilDone(someSelector, None, False)
NSLog(u"Hello I am in someFunc")
i = i + 1
@objc.IBAction
def buttonPress(self, sender):
NSThread.detachNewThreadSelector_toTarget_withObject_(self.threadedFunc, self, 1)
def threadedFunc(self):
NSLog(u"Entered threadedFunc")
self.t = NSTimer.NSTimer.scheduledTimerWithTimeInterval_target_selector_userInfo_repeats_(1/150., self,self.someFunc,None, True)
NSLog(u"Kicked off Runloop")
self.t.fire()
</code></pre>