# Delegate 本章では、`ASR033WPrinterDelegate` プロトコルに定義されたプリンター関連のデリゲートメソッドについて解説します。 このプロトコルを実装することで、プリンターの状態や印刷結果を受信できます。 --- ## `ASR033WPrinterStatus` プリンターの状態を通知します。 [`getPrinterStatus`](method.md#getprinterstatus) を呼び出した後に呼び出されます。 ::::{tab-set} :::{tab-item} Swift ```swift @MainActor func asr033WPrinterStatus(_ printerStatus: ASR033WPrinterStatus) ``` ::: :::{tab-item} Objective-C ```objectivec - (void)ASR033WPrinterStatus:(ASR033WPrinterStatus)printerStatus; ``` ::: :::: ### パラメータ ```{list-table} :align: left :class: list-table * - 項目名 - 型 - 説明 * - `printerStatus` - `ASR033WPrinterStatus` - プリンターの状態を示す列挙値。 詳細は [`ASR033WPrinterStatus`](enum.md#asr033wprinterstatus) を参照。 ``` ### サンプルコード ::::{tab-set} :::{tab-item} Swift ```swift func asr033WPrinterStatus(_ printerStatus: ASR033WPrinterStatus) { print("printerStatus: \(printerStatus.rawValue)") } ``` ::: :::{tab-item} Objective-C ```objectivec - (void)ASR033WPrinterStatus:(ASR033WPrinterStatus)printerStatus { NSLog(@"printerStatus: %ld", (long)printerStatus); } ``` ::: :::: --- ## `ASR033WPrinterConnected` プリンターの接続状態を通知します。 [`doPrint`](method.md#doprint) を呼び出した後に呼び出されます。 ::::{tab-set} :::{tab-item} Swift ```swift @MainActor func asr033WPrinterConnected(_ isConnected: Bool) ``` ::: :::{tab-item} Objective-C ```objectivec - (void)ASR033WPrinterConnected:(BOOL)isConnected; ``` ::: :::: ### パラメータ ```{list-table} :align: left :class: list-table * - 項目名 - 型 - 説明 * - `isConnected` - `Bool` - プリンターの接続状態。 YES:接続済み NO:切断 ``` ### サンプルコード ::::{tab-set} :::{tab-item} Swift ```swift func asr033WPrinterConnected(_ isConnected: Bool) { if isConnected { print("Printer connected") } else { print("Printer disconnected") } } ``` ::: :::{tab-item} Objective-C ```objectivec - (void)ASR033WPrinterConnected:(BOOL)isConnected { if (isConnected) { NSLog(@"Printer connected"); } else { NSLog(@"Printer disconnected"); } } ``` ::: :::: --- ## `retryPrintOnError` 印刷データをクリアせずに再印刷するかを判定します。 [`doPrint`](method.md#doprint) を呼び出した後に呼び出されます。 ::::{tab-set} :::{tab-item} Swift ```swift @MainActor func retryPrintOnError() -> Bool ``` ::: :::{tab-item} Objective-C ```objectivec - (BOOL)retryPrintOnError; ``` ::: :::: ### 戻り値 ```{list-table} :align: left :class: list-table * - 項目名 - 型 - 説明 * - `retry` - `Bool` - YES:再印刷する NO:再印刷しない ``` ### サンプルコード ::::{tab-set} :::{tab-item} Swift ```swift func retryPrintOnError() -> Bool { return true } ``` ::: :::{tab-item} Objective-C ```objectivec - (BOOL)retryPrintOnError { return YES; } ``` ::: :::: --- ## `whenPrintSuccessed` 印刷が正常に完了したことを通知します。 [`doPrint`](method.md#doprint) を呼び出した後に呼び出されます。 ::::{tab-set} :::{tab-item} Swift ```swift @MainActor func whenPrintSuccessed() ``` ::: :::{tab-item} Objective-C ```objectivec - (void)whenPrintSuccessed; ``` ::: :::: ### サンプルコード ::::{tab-set} :::{tab-item} Swift ```swift func whenPrintSuccessed() { print("Print succeeded") } ``` ::: :::{tab-item} Objective-C ```objectivec - (void)whenPrintSuccessed { NSLog(@"Print succeeded"); } ``` ::: ::::