IOS一些判断条件

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一些判断条件)