2012-08-24 92 views
1

我有點新與ios開發,我試圖禁用一個按鈕,如果用戶已被授權訪問令牌。我只是不知道是否有乾淨的做法。現在我有一個檢查我的viewWillAppear調用api客戶端對象isAuthorized:返回一個布爾值並將按鈕的啓用設置爲yes/no。在isAuthorized中,如果存在訪問令牌,則發出測試http請求,但由於必須等待完成塊,因此定時關閉,並且在不應該按鈕時禁用。我應該設置一個NSNotification,還是應該在viewWillAppear而不是客戶端中創建測試http請求?還是有更好的解決方案?如何檢查訪問令牌是否仍然有效?

感謝

回答

1

首先,好您的視圖控制器只是談判「客戶」對象和客戶對象會談到服務器。這是正確的佈局。現在如何設計UI部分:

  • 您的客戶端對象需要一個內部意義上的「我的授權是最新的嗎?」這可能意味着它會檢查一次,或者在最後的X分鐘內檢入。取決於你的情況。

  • 當您致電isAuthorized時,如果auth不是最新的,您將立即返回NO,然後發出您的請求。

  • 當請求進入時,您可以撥打,它會發布KVO通知。

  • 您的視圖控制器KVO觀察到isAuthorized並根據需要更新按鈕。 (或者你可以使用委託方法或通知。)

如果要區分「未授權」,從「我不知道,」只是創建一個3選項枚舉和方法,而不是authorizationStateisAuthorized

相關問題