2012-10-18 80 views
0

我用我的應用程序NSUser默認,一般它用戶數據,同時註冊和刪除這些數據,同時註銷。因此,當用戶註冊並登錄時,即使用戶關閉應用程序並重新打開應用程序,NSUser默認設置中的存儲數據也會使自動登錄部件生效。汽車式登錄在iphone

但問題是,當用戶註銷時,它要求他再次註冊。我想要的是,如果用戶註冊,那麼這個信息應該是,存儲在,當他註銷時,它不應該讓他再次註冊,因爲只會清除登錄頁面的內存,以便其他人用戶可以使用相同的應用程序。

Iam使用iOS 5。那麼,我可以在我的應用程序中一起使用SQLite數據庫(用於存儲簽名信息)和NSUser默認值(用於清除登錄頁面的內存)?或者有沒有其他解決方案?

+0

如果什麼用戶刪除了您的應用程序?數據庫也將消失。您應該同時顯示選項,登錄和註冊(當登錄數據被清除時),否則它會自動登錄。 – waheeda

回答

1

看來,您的應用程序處於脫機狀態,多個用戶可以註冊登錄在同一個應用程序(電話),所以我認爲最好的辦法將是拯救註冊在源碼數據庫數據(您可以使用coredata) 和登錄信息NSUserDefaults。所以當用戶註銷時,你只需清除你的NSUserDefaults值。同樣在登錄時,您可以從數據庫檢查用戶是否存在,因爲所有擁有signedup的用戶數據都存儲在您的數據庫中。此外,如果有用戶可以刪除其帳戶的功能,則只需從數據庫中清除該用戶條目即可。 希望這有助於....

+0

你能告訴我如何在我的應用程序中使用它們嗎? –

2

如果您使用的是自動登錄系統和存儲的用戶名和密碼,您應該使用鑰匙扣,NSUserDefaults的不

閱讀Here有關使用鑰匙串的更多細節。

您還可以使用鑰匙串來控制登錄會話,林不知道,但我認爲,即使用戶刪除他們的應用程序中,細節留在鑰匙串櫃面他們重新安裝應用

+0

但NSUer默認似乎是存儲用戶名和密碼的自動登錄常用的方法。那麼,是否可以在單個應用程序中同時使用SQlite和NSUser默認值? –

+0

它可能,但爲什麼SQLite而不是CoreData?爲什麼使用SQLite而不是Keychain? – CStreel

+0

就像我聽說的那樣,Coredata和Keychain很複雜,還是它們? –