2016-09-06 11 views
0

私は多くの画面でバーコードスキャン機能を備えたiPhoneアプリ(Objective-C)を開発中です。ユーザは、認識されるバーコードのタイプに応じて、異なるバーコードを認識し、異なるスクリーンにナビゲートするためにコントロールをタップすることができる。ロジックの大部分は、スキャンを開始した画面に依存しません。そのため、各ビューコントローラでコードを複製したくありませんが、どこに最適な場所が不明です。検出矩形をタップする必要があるため、これらのイベントを処理できる必要があります。どうもありがとう!複数のビューコントローラで共有されるロジックを配置する場所

+1

で関数を呼び出してシングルトン

class DataStore { static let sharedDataStore = DataStore() func scanBarcode() { //logic } } 

を使用することができ、すべて同じ親クラスから派生するこの能力を必要とするコントローラに問題はありませんか?または、UIViewControllerのカテゴリとして実装できますか? –

+0

フィリップ氏によると、カテゴリーは良い考えです。 – Sabbath

+0

素晴らしいです、提案いただきありがとうございます! @PhillipMillsはafaikではありませんが、何が見えますか?カテゴリは、主に追加の機能を追加しようとしています。 – jbakerlent

答えて

0

あなたは別のビューコントローラ

class viewController: UIViewController { 

    let shared = DataStore.sharedDataStore 

    override func viewDidLoad() { 
     //calling the function 
     shared.scanBarcode() 
    } 
+0

シングルトンを使用する正当な理由はありません。シングルトンは1つしか存在できないときに予約する必要があります。例えばUIDevice。ベスト – Jef

関連する問題