【问题标题】:Can I serialize an ACAccount object holding an authorized twitter account?我可以序列化持有授权 Twitter 帐户的 ACAccount 对象吗?
【发布时间】:2013-04-15 14:24:57
【问题描述】:

我已经实现了内置的 twitter API,一切都运行良好,但是我正在尝试确定当用户设置了多个 twitter 帐户时,如何最好地在会话之间保留一个 twitter 帐户。

如果我使用-[ACAccountStore accountsWithAccountType:] 只收到一个ACAccount,这很容易......我只是使用那个。但是,如果有多个ACAccounts,我不想每次进入应用程序时都询问他们要使用哪个。

到目前为止,我的选择是:

  1. 使用NSKeyedArchiver 序列化ACAccount 对象(如果可能,这将是理想的)

  2. 每次都给用户Bug(不想这样做)

  3. 仅存储所选ACAccount 的用户名,然后在下一个会话中比较ACAccountStore 中每个帐户中的用户名,然后选择该帐户(尽管出于某种原因,这似乎是一种不优雅的解决方法) .

非常感谢!

【问题讨论】:

  • 选项 (3) 似乎是最安全的选项。完整地序列化 ACAccount 对象有点像矫枉过正。您唯一会询问以下情况的是他们是否希望更改,或者他们的 Twitter 帐户名称是否更改。
  • 谢谢皮特什!是的,我选择了#3,它似乎工作得相当稳固。我只是不喜欢完全依赖用户名的想法,但它确实有效,所以我想我很高兴。

标签: ios objective-c twitter acaccount


【解决方案1】:

ACAccount 有一个名为identifier 的属性来唯一标识单个帐户。该属性的类型是NSString,因此您可以使用NSUserDefaultsNSCoding(或您使用的任何其他持久性解决方案)轻松地保持其值。当您要检索属于该标识符的帐户时,只需使用方法-[ACAccountStore accountWithIdentifier:]并将标识符作为参数传递即可。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-24
    • 1970-01-01
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多