iOS 开发

iOS对比问题

2020-04-30  本文已影响0人  忆一曲肝肠断

iOS对比问题包括比较两个NSDate相差多少小时,比较两个CGRect/CGSize/CGPoint是否相等,判断两个rect是否有交叉,判断一个字符串是否包含另一个字符串,判断字典中是否包含某个key值,等等。
比较两个NSDate相差多少小时

NSDate* date1 = someDate;
 NSDate* date2 = someOtherDate;
 NSTimeInterval distanceBetweenDates = [date1 timeIntervalSinceDate:date2];
 double secondsInAnHour = 3600;
// 除以3600是把秒化成小时,除以60得到结果为相差的分钟数
 NSInteger hoursBetweenDates = distanceBetweenDates / secondsInAnHour;

比较两个CGRect/CGSize/CGPoint是否相等

if (CGRectEqualToRect(rect1, rect2)) { // 两个区域相等
        // do some
    }
    if (CGPointEqualToPoint(point1, point2)) { // 两个点相等
        // do some
    }
    if (CGSizeEqualToSize(size1, size2)) { // 两个size相等
        // do some
    }

判断两个rect是否有交叉

if (CGRectIntersectsRect(rect1, rect2)) {
}

判断一个字符串是否包含另一个字符串

// 方法一、这种方法只适用于iOS8之后,如果是配iOS8之前用方法二
if ([str containsString:otherStr]) NSLog(@"包含");
 
// 方法二
NSRange range = [str rangeOfString:otherStr];
if (range.location != NSNotFound) NSLog(@"包含");

判断字典中是否包含某个key值

if ([dic objectForKey:@"yourKey"]) {
    NSLog(@"有这个值");
} else {
    NSLog(@"没有这个值");
}

是不是很简单,每天更新小功能,记得点赞加关注哦

上一篇下一篇

猜你喜欢

热点阅读