这些解析查询在iOS中无法正常工作?

时间:2015-04-16 12:31:21

标签: ios objective-c parse-platform pfquery

我在iOS中使用解析检查两个条件。在解析中,我在类中主要有2个键(类名app),键是uuidexpiryDate

    1. 检查用户唯一ID(uuid)是否可用于解析。
    1. 检查与该uuid相对应的expiryDate字段是否大于GMT中的当前日期和时间。

但是当我尝试下面的查询时,它只检查第一个条件 第二次日期检查没有发生。

代码

    NSString *udid = [[UIDevice currentDevice] uniqueDeviceIdentifier];

    NSDate *currentDate = [NSDate new];
    NSDate *localDate = currentDate; // get the date

    NSTimeInterval timeZoneOffset = [[NSTimeZone defaultTimeZone] secondsFromGMT]; // You could also use the systemTimeZone method

    NSTimeInterval gmtTimeInterval = [localDate timeIntervalSinceReferenceDate] - timeZoneOffset;

    NSDate *gmtDate = [NSDate dateWithTimeIntervalSinceReferenceDate:gmtTimeInterval];

    PFQuery *wawQuery = [PFQuery queryWithClassName:@"app"];
    [wawQuery whereKey:@"udid" equalTo:udid];  
    [wawQuery whereKey:@"expiryDate" greaterThan:gmtDate]; //checking not working

    [wawQuery findObjectsInBackgroundWithBlock:^(NSArray *users, NSError *error) {


    NSLog(@"user-->%@",[[users valueForKey:@"expiryDate"] objectAtIndex:0]);
    NSDate *serverDate=(NSDate *)[[users valueForKey:@"expiryDate"] objectAtIndex:0];
    if([users count]>0){
        if([gmtDate compare:serverDate]==NSOrderedAscending){
            NSLog(@"not expired");
            sharedManager.status=true;
            liveController *rxObj= [self.storyboard instantiateViewControllerWithIdentifier:@"live"];
            [self.navigationController pushViewController:rxObj animated:YES];

        }else{
            NSLog(@"expired");
            sharedManager.status=false;
            [self initiateControlls];
        }


    }else{
        sharedManager.status=false;
         [self initiateControlls];
    }

我期待像这样的日期检查

例如19-04-2015 21:20:00和19-04-2015 22:00:04但是

当我使用

if([gmtDate compare:serverDate]==NSOrderedAscending){

   }

只有日期正在检查(2015年4月19日至2015年4月19日22:00:04)我想要两个日期时间检查(19-04-2015 21:20:00至19-04-2015)

1 个答案:

答案 0 :(得分:0)

此链接可能对您的情况有所帮助:

https://www.parse.com/questions/comparing-dates-with-the-ios-sdk