在我的應用程序中,我有一些功能:login,getNews,getWeather。最後兩個函數只能在用戶登錄時執行。如果用戶已經登錄,我不想每次登錄,所以如果兩個最後的函數返回一個未登錄的錯誤,我想登錄,然後執行需要登錄的函數的隊列。 這只是一個例子,實際的代碼要長得多,而依賴於登錄的函數不止兩個。我想知道處理這種情況的最佳解決方案。僅在登錄時才獲取數據
1
A
回答
0
0
當用戶登錄後,您可以將其憑證存儲在鑰匙串中。 看看這裏一個簡短的教程:
然後,您可以每次檢查是否存儲了自己的憑證並自動登錄,然後執行getNews和getWeather函數。
0
要保存您的應用程序啓動之間的數據,你可以嘗試任何以下兩種方法:
1)很簡單的解決辦法是在你的UserDefaults用戶數據存儲在用戶詞典的形式。前者爲 。 NSUserDefaults.standardUserDefaults().setObject(userDict, forKey: @"User Dictionary")
。如果你的userDict很大或很難製作,這可能會很痛苦。
2)另一種解決方案可以是使用存檔器存儲用戶數據。您可以從這個link製作您的自定義存檔器。
0
因此,當用戶成功登錄使用NSUserDefaults
記錄value
= 1
實施例;
使用該代碼添加prefs
。
let prefs:NSUserDefaults = NSUserDefaults.standardUserDefaults()
登錄成功後set
登錄object
內1
。
let logged = 1
prefs.setObject(logged, forKey: "logged")
並檢查用戶是否logged
或not logged
顯示登錄
您可以在下面的檢查記錄添加代碼裏面到處項目
if prefs.valueForKey("logged") as! Int == 1 {
}else{
// go login
}
對於logout
可以use
;
let logged = 0
prefs.setObject(logged, forKey: "logged")
感謝
相關問題
- 1. 僅當某些用戶登錄時才顯示某些數據
- 2. Backbonejs僅在獲取數據不同時才添加到集合
- 3. 僅在登錄後才顯示內容
- 4. 獲取facebook頁面的數據需要登錄才能看到
- 5. OpenID在登錄後獲取數據
- 6. SQL登錄僅在訪問登錄頁面後纔有效
- 7. Node.js使用http post登錄並在登錄後獲取數據
- 8. 僅當從laravel傳遞數據到json時才獲取值
- 9. 如何僅在用戶登錄時才使AJAX工作? -rails
- 10. Django的FilteredSelectMultiple小部件僅在登錄時才起作用
- 11. D7 - 僅在登錄時才顯示字段
- 12. 夾層僅在登錄時才顯示頁面
- 13. 從JSON獲取數據並在登錄時進行比較
- 14. 僅當記錄不存在時才插入數據
- 15. 使用Android登錄後獲取數據
- 16. 登錄後Firebase無法獲取數據
- 17. PHP捲曲登錄和獲取數據
- 18. 登錄到網站並獲取數據
- 19. 獲取數據庫錯誤而登錄
- 20. 獲取登錄的用戶數據
- 21. 僅在整數時才獲取查詢字符串
- 22. Symfony2,數據庫中的PDOSessionStorage,僅在登錄時創建會話
- 23. Firebase數據庫偵聽器僅在更改時纔會獲取值
- 24. 如何僅在第一次獲取數據時才發送http請求?
- 25. 在登錄時獲取userAccount的值
- 26. 在登錄時獲取會話ID
- 27. 僅在使用SSL進行登錄時使用SSL僅限於在登錄期間使用https登錄時
- 28. 僅當用戶未登錄時才顯示註銷
- 29. IsInRole僅當用戶登錄時纔有效
- 30. 僅當用戶登錄時才顯示彈出窗口
可以使用dispatch_group爲Web服務調用序列。 – vivekDas