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转换。 –