0

最近,我正在开发一个与一些社交网络链接的新应用程序,例如,twitter,facebook,linkedIn...实际上,我以前做过类似的应用程序,但这次我想请教更多关于管理的意见他们。

这是我的练习。

塞纳里奥:

  1. 启动应用程序
  2. 强制社交网络登录(从给定选项中选择一项)
  3. 使用此 SSO 身份验证用户并从我的 Web 服务中获取相关用户信息

问题:

  1. 如何让用户登录?

    a)只是setRootController:TabBar controller,并添加一个覆盖的登录视图tabBarView (问题:某些控制器tabBarCon可能需要一些用户信息来初始化或显示内容。这种方法可能会花费大量工作来重新加载控制器)

    b) addSubview:loginView到窗口。登录后,创建tabBarControllerand addSubview:tabBarCon.view (我想知道是否有必要setRootControllerin application:didFinishLaunchingWithOptions,因为如果我没有,我会收到警告)

  2. 如何存储用户信息,如 facebook id 等。

    a) 直接保存到userdefault

    b) 使用用户模型记录这些东西并将用户对象保存到 userdefault

这可能是一个愚蠢的问题。在这种情况下,我正在寻求更多意见。(问题1更重要:))
欢迎提出其他建议

4

1 回答 1

1

对问题 1。

它应该是一个视图控制器。我怎么知道?因为涉及到逻辑、Web 调用、数据模型等。从一开始就尽可能地遵循 MVC 范式。登录时不必重新加载视图控制器。通常会有一些事件(通知、委托、块)通知您的视图控制器,他们可以重新布局视图。这是正常的活动。将您的视图控制器设计为具有“登录”和“注销”界面 - 几乎总是如此。

对问题 2。

如果您将核心数据用于其他用途并且已经配置,请使用它。您可以在需要时将属性添加到数据模型中。否则,如果您想快速完成并且只处理一个用户,请尝试使用 NSUserDefaults。每种方法都是不同的,并且有不同的好处与失败。

编辑:

如果您计划向公众发布您的软件,请小心保存机密信息。即:密码,访问令牌等。这可能是一个非常昂贵的错误,具体取决于您的合法所在地。

于 2012-06-22T10:01:35.707 回答