2015-10-20 24 views
0

我正在研究使用React Native框架開發的iPhone應用程序。其中一些功能是使用Swift實現的,並由本地橋接類調用。React Native - 如果init類中的init類不工作,則Timer函數不工作

實用程序swift是橋類和調用上傳隊列類之一。上傳隊列將每30秒觸發一次。

Utilities.swift:

@objc func doPostSignInRoutine(username: String, callback: RCTResponseSenderBlock) -> Void { 
    UploadXfdfManager.start() 
} 

UploadXfdfManager.swift:

func start() { 
    timer = NSTimer.scheduledTimerWithTimeInterval(self.scheduledTimer, target:self, selector: Selector("startUploadQueue"), userInfo: nil, repeats: true) 
} 

定時器功能 「startUploadQueue」 如果我調用Utilities.swift內的隊列不解僱,但它完美如果隊列在Utilities.swift之外調用。任何想法如何解決這個問題?請指教。非常感謝。

回答

0

問題是本地模塊沒有在主線程上運行。這就是爲什麼計時器不能在本地橋接類中工作的原因。

這個問題可以容易地使用主線程調用定時器功能被固定

@objc func doPostSignInRoutine(username: String, callback: RCTResponseSenderBlock) -> Void { 
    dispatch_async(dispatch_get_main_queue()) { 
     UploadXfdfManager.start() 
    } 
} 
相關問題