私は現在、多くの機能を有効にするプロジェクトに取り組んでいます。
その1つがユーザーの登録です。ビューコントローラと、ユーザー入力を処理するためのビューがあります。さらに、ユーザーデータをアップロードするためにアップローダーを開始し、アップロードが成功/失敗した場合などにViewControllerに通知するUserServiceを実装しました。
今、私はデータをコアデータ(それらの一部のみ)に保存せず、ビューコントローラーからアップローダーにアプリケーション全体でデータを送信するための最良のアプローチについて疑問に思っていました。
簡単なアプローチは次のようになることを私は知っています:
- (void) startUserRegistrationEmail:(NSString *) aEmail
firstname:(NSString *) aFirstname
name:(NSString *) aName
birthdate:(NSDate *) aBirthdate
citizenship:(NSString *) aCitizenship
street:(NSString *) aStreet
streetnumber:(NSString *) aStreetNumber
postcode:(NSString *) aPostcode
address:(NSString *) aAddres;
利点は、私のサービスとアップローダーが再利用性を高める可能性のあるモデルに依存していないことです。
しかし、私の意見にはいくつかの欠点があります。ViewController内の入力フィールドを検証する必要があります。モデルオブジェクトがある場合は、すべての入力をこのオブジェクトに簡単に詰め込むことができます。呼び出しは有効であり、失敗した場合は、ユーザーに表示される適切なエラーを形成します。
さらに、サービスとアップローダーの私のメソッドはに縮小します
- (void) startCustomerRequestQueryEmail:(AMRegistration *) aRegistration
AMRegistrationクラスのデータはcoredate内に保存されないため、managedObjectとしてではなく、カスタムクラスとして実装します。
アップロードが完了したら、参照を確認して、必要なデータを管理対象オブジェクトに保存する場合があります。(これは、9弦ではなく、1つのAMRegistrationオブジェクトで参照を保持する必要がないという事実によるもう1つの利点です)。
あなたがそれらの問題をどのように扱っているか知りたいですか?これらの「ヘルパーオブジェクト」をより頻繁に使用していますか、それとも使用を避けていますか?