美文网首页
iOS关于NSDate大小的比较

iOS关于NSDate大小的比较

作者: 0无敌小宋0 | 来源:发表于2019-05-08 10:54 被阅读0次

            前段时间做了关于喂食计划方面的APP,里面时间的设定用到了时间选择器,于是在UIPickView的基础上重写了选择器,遇到了最大时间和最小时间的问题。下面总结一下NSDate的比较。

        这里先要介绍NSDate的方法:- (NSComparisonResult)compare:(NSDate *)other,这是2个date比较大小的方法,有个返回值NSComparisonResult类型,这是个枚举类型数据,其定义如下

    🌰:NSComparisonResultresult = [aDate compare:bDate];

        typedef NS_CLOSED_ENUM(NSInteger, NSComparisonResult) {

        NSOrderedAscending = -1L,         // aDate < bDate

        NSOrderedSame,                            // aDate == bDate

        NSOrderedDescending                 // aDate > bDate

    };

        当然compare也不仅仅适用于date大小的比较,同样可以比较NSString、NSNumber等相关类型的大小比较,如:[@"a" compare:@"b"],字符串的大小比较主要会根据字符串中的字符的ASCII码逐个进行比较。

    下面贴上我写的代码

    //比较2个date的大小 a>b = -1;  a=b = 0; a

    + (NSInteger )compareDate:(NSDate* )aDate withDate:(NSDate* )bDate

    {

        NSInteger tag = 0;

        NSComparisonResult result = [aDate compare:bDate];

        if(result == NSOrderedSame)

        {

            //相等

            tag=0;

        }

        else if (result == NSOrderedAscending)

        {

            //bDate比aDate大

            tag = 1;

        }

        else

        {

            //bDate比aDate小

            tag = -1;

        }

        return tag;

    }

        时间仓促,错漏之处敬请指出,谢谢!

    ps:贴上小弟画的时间选择器

    哈哈😁

    相关文章

      网友评论

          本文标题:iOS关于NSDate大小的比较

          本文链接:https://www.haomeiwen.com/subject/xlapoqtx.html