如何在Epson TM-m30打印机上同时设置3-4张自动打印。这是我的代码,请检查并提供解决方案。如果我删除时间延迟,则此代码将中断,如果我设置了时间延迟,则该代码将起作用... !!
它不断地连接和断开打印机。这是do连接并打印收据的常见过程。
1)初始化
2)正在连接
3)打印
4)断开连接并清除缓冲区
我注意到一台打印机不能与多个Ipad或多个设备连接,而我们的要求是我们必须与多个设备连接。
因此,有什么办法设置队列来管理多个请求?
NSArray *arr=[[NSArray alloc]initWithObjects:@"1",@"2", nil];
[arr enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop)
{
if (idx==0)
{
[self runPrintReceiptSequence];
}
else
{
[self performSelector:@selector(runPrintReceiptSequence) withObject:nil afterDelay:1.5];
}
}];
- (BOOL)runPrintReceiptSequence
{
_textWarnings.text = @"";
if (![self initializeObject]) {
return NO;
}
if (![self createReceiptData]) {
[self finalizeObject];
return NO;
}
if (![self printData]) {
[self finalizeObject];
return NO;
}
return YES;
}
- (void) onPtrReceive:(Epos2Printer *)printerObj code:(int)code status:(Epos2PrinterStatusInfo *)status printJobId:(NSString *)printJobId
{
[ShowMsg showResult:code errMsg:[self makeErrorMessage:status]];
[self dispPrinterWarnings:status];
[self updateButtonState:YES];
[self performSelectorInBackground:@selector(disconnectPrinter) withObject:nil];
}
我通过一个队列来解决此问题,该队列使用maxConcurrentOperationCount = 1的NSOperationQueue来规范操作的执行。
但是此解决方案会在打印操作之间延迟。所以现在,我搜索解决方案以立即打印(多个)。有什么建议么 ?问候。