2013-02-16 56 views
0

我已經實現了內置的twitter API,並且一切都很好,但是我試圖決定如何在用戶設置多個Twitter帳戶時最好在會話之間保留一個Twitter帳戶。我可以序列化持有授權Twitter帳戶的ACAccount對象嗎?

如果我只收到一個ACAccount使用-[ACAccountStore accountsWithAccountType:],這很容易...我只是使用那一個。但是,如果有多個ACAccounts,我不希望每次輸入應用程序時都要求他們使用哪一個。

我看到它的方式,到目前爲止,我的選擇是:

  1. 序列化使用NSKeyedArchiverACAccount對象(這將是理想的,如果可能的話)

  2. 錯誤的用戶每時間(不想這樣做)

  3. 只存儲所選ACAccount的用戶名,然後在下一個會話中比較中每個帳戶的用戶名,並選擇該帳戶(儘管由於某種原因,這似乎是一個不起眼的解決方法)。

非常感謝提前!

+1

選項(3)似乎是最安全的選項。序列化整個ACAccount對象有點像矯枉過正。唯一一次你會問這是如果他們想改變,或他們的Twitter帳戶名稱改變。 – Petesh 2013-02-16 20:31:42

+0

謝謝Petesh!是的,我已經走了#3,它似乎工作相當穩固。我只是不喜歡單純依靠用戶名的想法,但它的作品,所以我想我很高興。 – 2013-02-17 07:11:32

回答

4

ACAccount有一個名爲identifier的屬性來唯一標識一個帳戶。該屬性的類型是NSString,因此您可以使用NSUserDefaultsNSCoding(或您使用的任何其他持久性解決方案)輕鬆保留其值。當您想要檢索屬於此標識符的帳戶時,只需使用方法-[ACAccountStore accountWithIdentifier:]並傳遞標識符作爲參數。

相關問題