0
我需要一個功能,它只能被調用一次,你必須要等到下一個可以執行斯威夫特3 - 隔離功能
private func receive(){
var inputBuffer = Array<UInt8>(repeating: 0, count: BUFFER_MAX);
let bytesRead = self.inputStream.read(&inputBuffer, maxLength: BUFFER_MAX);
if(bytesRead > 0){
let string = convertToString(byteArray: inputBuffer, length: bytesRead);
// Call if previous is finished
CommandHandler.convert(string);
}
}
我已經測試過這樣的事情:
var dispQueue = DispatchQueue(label: "commandConvert")
...
private func convert(){
dispQueue.sync {
...
}
}
但這不起作用
也許你可以解釋你試圖解決的更廣泛的問題,我們可以告訴你模式來實現這一點。這聽起來像一個[XY問題](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem),你要求我們幫助你解決你提出的解決方案,而不是根本問題。 – Rob
例如,如果我在0 ... 3,4 ... 7,8 ... 11的包中得到0到100的消息,...我將得到8 ... 11,然後我得到4 .. 0.7。在func轉換。 –