在 Objective C 中使用带有信号量的委托方法

Using delegate methods with semaphores in Objective C

您好,我正在 Objective C 中使用委托方法,需要一些帮助。我有以下函数 A 和 B。B 是委托函数。

-(BOOL) A{
    int cmd = 73;
    [_serialPort sendData:cmd];
    NSLog("Hello");
    return TRUE;
}

//Delegate function

-(void) B{
    //When some data is received on the serial port function B is called
}

但是函数A并没有等到串口接收到数据。在串行端口上接收到某些数据之前,如何阻止功能 A?我在 objective-C.

中使用 ORSSerialPort 库

当您接收数据时,ORSSerialPort 似乎已经使用了委托。

- (void)serialPort:(ORSSerialPort *)serialPort didReceiveData:(NSData *)data {
    // Assuming the delegate has method A
    [self A];
}

-serialPort:didReceiveData: 是 ORSSerialPort 的委托方法。

上面的代码基本上会等到接收到数据,然后一旦接收到,就会调用A。