AsReader製品サイト

検索

製品情報

AsReaderブログ

iOSアプリ開発に関して

カテゴリー:
最終更新日:2018年07月27日

大阪受託開発セクション 大城です。
ちょっと前まで涼しかったですが、夏も本番になってきました。
6月末に沖縄に帰省していたのですが、大阪の気候も沖縄に追いついてきたなと感じます。

さて、今回は少しプログラミングに関わる事をお話ししたいと思います。
AsReaderSDKを組み込むためだけではないですが、デザインパターンのシングルトンの活用を話したいと思います。

シングルトンを使用するケース
・インスタンスを1つしか使わないで良い。
・生成したインスタンスを色々な箇所で使い回す。

1つの画面の場合は、ViewControllerにimportし、SDKのインスタンスをメンバに持ち、Delegateを使用しているケースもあると思います。
ただ、これが複数画面になる場合、各ViewControllerにSDKのインスタンスをメンバに持っている方はいないでしょうか。
この場合にシングルトンを使用し、Helperのようなラッパークラスを作る事で、各画面でSDKのインスタンスをメンバ等で持たずに済み、
共通化する処理をラッパーの中に実装しておけば、各ViewControllerで同じ処理を実装したりしなくて済みます。

ラッパークラスで以下のような処理を実装する事で、開発がだいぶ楽になると思います。
・Delegateの設定をNotificationで処理
・AsReaderSDKのインスタンス化
・バーコードやRFIDの値の加工や型変換処理

Delegateの設定は、アプリの起動時、バックグラウンド・フォアグラウンドの遷移、ViewControllerの遷移等で必要になります。
SDKのインスタンスを1つにする事で管理も楽になります。
TextFieldやLabel等のUIに表示する際やAPIで使用する際のデータのトリミングの加工や型変換を行う際もラッパーのクラスでメソッドを実装する等
色々工夫次第で、便利にも汎用的にもなります。

日進月歩なのでこれが正解というのは無いと思いますが、現時点でのベスト・ベターはあると思います。
オブジェクト指向やプロトコル指向、MVCやKVOのデザインパターンも上手く使い設計する事で、
もうワンランク上の開発に発展すると思います。

● Apple、Apple のロゴ、iPhone、iPod touchは、米国および他の国々で登録されたApple Inc.の商標です。
※iPhoneの商標は、アイホン株式会社のライセンスにもとづき使用されています。
※iOS商標は、米国Ciscoのライセンスに基づき使用されています。
● Androidは、Google LLCの商標です。 ● Windowsは米国 Microsoft Corporationの米国およびその他の国における登録商標です。
●その他、各社の会社名、システム名、製品名などは、一般に各社の登録商標または商標です。 
当社サイト内に記載されている社名、製品名、サービス名及びサイト名には、必ずしも商標表示「®」「(TM)」を付記していません。
※iOSデバイスと接続して使用する当社製品は、MFi認証を取得しています。 ※ 形状・色など予告なく変更する場合があります。