我正在使用基于令牌的身份验证的Swift项目。当应用程序从后台恢复时,AppDelegate函数<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
>
<Style TargetType="{x:Type TextBox}" x:Key="MyTextBox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<TextBox Width="500" Background="LightGreen" TextChanged="TextChanged" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
会进行检查以确保内存中的令牌没有过期(到期日期存储在applicationWillEnterForeground()
和{{1}中变量)。如果它已过期,它会调用一个函数来续订并获得一个新函数。
我面临的问题是,当异步功能正在等待服务器使用新令牌进行回复时,应用中的用户可以执行需要授权的操作。如果发生这种情况,由于尚未获取新令牌,应用程序将使用旧令牌值查询服务器,并且不会检索数据。
在我们做其他事情之前,有没有办法确保更新令牌的异步功能已经完成?
答案 0 :(得分:0)
设置NSNotifications系统,以在身份验证有效/无效时通知您的GUI。
在GUI中,启用或禁用发生通知时需要进行身份验证的用户控件。如何执行此操作取决于您的GUI设计:隐藏控件,灰显控件和活动指示器是一些选项。
检查身份验证时,请视情况发送这些通知。