美文网首页iOS沉淀
IOS一些判断条件

IOS一些判断条件

作者: 艾泽拉斯大祭司 | 来源:发表于2021-08-02 15:00 被阅读0次

    1、判断后台返回的JSON了,而其中 最常用的就是

    - (BOOL)isEqualToString:(NSString *)aString;

    用法

    NSString*str = @"";

    [str isEqualToString:@"”];

    判断左右字符串的字面值是否一致。如果一致返回YES,否则返回NO。

    2、空对象的比较,如何判断空对象呢?

    - (BOOL)isKindOfClass:(Class)aClass;

    就要用到这个函数啦。这个函数判断的是A与B是不是同一个类。

    那么刚才的问题就解决啦。

    NSDictionary *dictionary = [NSDictionary dictionary];

    [[dictionary objectForKey:@"data"] isKindOfClass:[NSNull class]];

    这样,如果后台传来的数据中data为空对象的话,就会返回YES啦。

    那么再加深一点,如果有个Person类,有个两个属性,

    NSString*name;

    NSString*birthday;

    那么我们如何判断两个Person的name和birthday一样呢?

    难倒使用:

    if([person1.name isEqualToString:person2.name] && [person1.birthday isEqualToString:person2.birthday])

    那如果Person有50个不同类型的属性呢?那岂不是要写死?

    下面有个简单的方法可以办到这些:

    - (BOOL)isEqual:(id)object;

    它首先会判断person1和person2是否是一个对象(地址一致),

    然后会判断person1和person2是不实是同一个类,

    再接着,它会判断person1和person2里面的每个属性的值是否一致。如果一致就返回YES。

    3、接下来我们需要来说一下时间比较了,经常有两个NSDate数据,如何去比较两个时间的早晚呢?

    NSDate*date1 = [NSDatedate];

    NSDate*date2 = [NSDatedate];

    //比较时间是否一致

    [date1isEqualToDate:date2];

    //比较时间1和时间2 哪个早一点,返回那个早的

    [date1 earlierDate:date2];

    //比较时间1和时间2 哪个迟一点,返回那个迟的

    [date1 laterDate:date2];

    //那么这三个方法结合起来,就能判断时间大小了。

    /如果时间1小于时间2,返回YES

    [date1 isEqualToDate:[date1 earlierDate:date2]];

    //如果时间1大于时间2,返回YES

    [date1 isEqualToDate:[date1 laterDate:date2]];

    相关文章

      网友评论

        本文标题:IOS一些判断条件

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