如何在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来管理操作的执行。
但是这种解决方案在打印操作之间造成延迟。所以现在,我搜索解决方案打印(多(没有任何延迟。有什么建议吗?当做