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]];
网友评论