0

最近、ツイッター、フェイスブック、LinkedInなどのソーシャルネットワークと連携する新しいアプリに取り組んでいます。実は以前にも似たようなアプリをやっていたのですが、今回は管理についてもっと意見をお願いしたいと思います。彼ら。

これが私の練習です。

セナリオ:

  1. アプリを起動する
  2. ソーシャルネットワークへのログインを強制します(指定されたものから1つ選択してください)
  3. このSSOIDを使用して、ユーザーを検証し、Webサービスから関連するユーザー情報を取得します

質問:

  1. ユーザーにログインさせる方法は?

    a)ただsetRootController:TabBar controller、ログインビューをオーバーレイして追加しますtabBarView (問題:のコントローラーの中にはtabBarCon、コンテンツを初期化または表示するためにユーザー情報が必要な場合があります。この方法では、コントローラーをリロードするために多くの作業が必要になる場合があります)

    b) addSubview:loginViewウィンドウへ。ログイン後、andを作成しますtabBarController(そうしなかった場合は警告が表示されるので、で必要addSubview:tabBarCon.view かどうか疑問に思います)setRootControllerapplication:didFinishLaunchingWithOptions

  2. FacebookIDなどのユーザー情報を保存する方法。

    a)直接userdefaultに保存します

    b)ユーザーモデルを使用してこれらのものを記録し、ユーザーオブジェクトをuserdefaultに保存します

それはおそらくばかげた質問です。このような状況で、より多くの意見を求めています。(質問1の方が重要です:))
他の提案は大歓迎です

4

1 に答える 1

1

質問1へ。

ビューコントローラである必要があります。どうすればわかりますか?ロジックが関係しているため、Web呼び出し、データモデルなど。最初からMVCパラダイムにできるだけ近づきます。ログイン時にViewControllerをリロードする必要はありません。通常、View Controllerに通知するイベント(通知、委任、ブロック)があり、ビューを新しくレイアウトできます。これは通常のアクティビティです。ほとんどの場合、「ログイン」および「ログアウト」インターフェースを持つようにビューコントローラーを設計します。

質問2へ。

コアデータを他の目的で使用していて、すでに構成されている場合は、それを使用します。必要に応じて、データモデルに属性を追加するだけです。それ以外の場合、すばやく実行したいが、1人のユーザーのみを処理する場合は、NSUserDefaultsを試してください。それぞれのアプローチは異なり、メリットとデメリットも異なります。

編集:

ソフトウェアを一般に公開する予定がある場合は、機密情報の保存に注意してください。つまり、パスワード、アクセストークンなどです。これは、合法的に拠点を置いている場所によっては、非常にコストのかかる間違いになる可能性があります。

于 2012-06-22T10:01:35.707 に答える