开发者社区> 问答> 正文

如下if-else语句,为何第一句没起作用?

-(ContentViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController{
    ContentViewController *controller = (ContentViewController *)viewController;
    //与今天的比较,并且只在向后翻中用到
    if([controller.specialDay isEqualToDate:[NSDate date]]){
        return nil;
    }else{
        ContentViewController *newController =               
        [[ContentViewController alloc]init];
        newController.specialDay = [NSDate dateWithTimeInterval:24*60*60 sinceDate:controller.specialDay];
        return newController;
    }
}

//执行起来后,虽然默认的日期是今天,但是第一条语句似乎不起作用,依然可以向后翻页

展开
收起
a123456678 2016-07-29 09:36:41 2111 0
2 条回答
写回答
取消 提交回答
  • 少年你需要的是NSDateComponent。

    2019-07-17 20:01:31
    赞同 展开评论 打赏
  • 比较粒度错了,[NSDate date]不仅有当前的日期,还有时间。isEqualToDate的比较是精确到sub-second,所以那两个NSDate相等的概率几乎为零。

    2019-07-17 20:01:30
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载