在页面加载后45分钟后显示按钮上的通知

时间:2017-01-12 12:00:38

标签: ios

我收到来自服务器的响应,其中我得到了一个带有时间的NSDate参数。我在导航栏上有一个通知按钮。无论我们在45分钟后得到什么时间,我们必须显示通知按钮的调查次数按下按钮后,用户填写包含调查问题的调查。但是在45分钟之前,用户才能看到通知。

现在我的代码看起来像这样

-(void)checkForResponse:(HRNetworkDataModel *)dataModel
{
    [HRUtility stopActivityIndicatorFromView:self.navigationController.view];
    if ([dataModel.responseData[@"community_details"][@"status"][@"message"]isEqualToString:@"successful"])
    {
        self.pendingSurveyArray = dataModel.responseData[@"community_details"][@"data"][@"community_details"];
        NSMutableArray *finalSurveyArray = [[NSMutableArray alloc] init];
        for (NSInteger i=0; i<self.pendingSurveyArray.count;i++)
        {            NSDictionary *tDict = self.pendingSurveyArray[i];
           if((([tDict[@"survey_flag"] isEqualToNumber:[NSNumber numberWithBool:0]]) || [tDict[@"survey_flag"] isEqualToNumber:[NSNumber numberWithBool:0]]) ||[tDict[@"survey_flag"] isEqualToNumber:[NSNumber numberWithBool:0]])
 {
                 [finalSurveyArray addObject:tDict];
                 self.communityVisitedDate = tDict[@"visited_time"];
  }

        }

        if (finalSurveyArray.count == 0)
        {
            return;
        }
        else
        {
            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 45 *60 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
                    [self.navigationItem.rightBarButtonItems[0] setBadgeValue:[NSString stringWithFormat:@"%lu",(unsigned long)finalSurveyArray.count]];

            });

        }

    }
}

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

将响应时间存储在USERNAME_FIELD = 'email' REQUIRED_FIELD = ['username'] 中,并将该时间与viewWillAppear方法的当前时间进行比较,如果保存的时间和当前时差等于或大于显示通知的45分钟