Linea Pro ハードウェア バーコード スキャナーを使用したプロジェクトに取り組んでいます。始めるために、次の回答を使用しました IOS用のLinea-Pro SDKを使用するにはどうすればよいですか?
My App は、Navigation Controller (2 つのエントリを持つテーブル) と 2 つの接続された View Controller (それぞれがスキャナーを使用) で構成されます。
次のように、ナビゲーション コントローラーの viewDidLoad でデバイスを接続しています。
dtdev=[DTDevices sharedDevice];
[dtdev connect];
2 つのビュー コントローラーで、次のように viewDidLoad メソッドにデバイスを登録しています。
dtdev=[DTDevices sharedDevice];
[dtdev addDelegate:self];
[super viewDidLoad];
残念ながら、デバイス スキャン ボタンをクリックすると、2 つのビュー コントローラーの両方のデリゲート メソッドが呼び出されます。これは、両方が登録されているためです。
この動作を防ぐために、ビューが表示されるとすぐにビューコントローラーをデリゲートとして設定したかったので、[dtdev addDelegate:self];を配置しました。viewWillAppearメソッドに[dtdev removeDelegate:self]; を追加します。viewWillDisappearメソッドで。その後、removeDelegate を呼び出すと、バーコード スキャナーが addDelegate を介して再度追加されたとしても、機能しなくなります。
両方のビュー コントローラーをデリゲートとして追加し、デリゲート メソッドに次のようなコードを追加する別の方法がわかりません。--> 続行 : そうでなければ壊れます。(でも、これはばかげていますよね?)
それはバグですか、それとも私は正しく考えていませんか?