目标c比较范围相交

Chr*_*isM 11 objective-c

我试图找到2个数字范围的交集,例如...

范围A为10至100,范围B为60至70

有没有写一个if语句来计算两个范围的交集的简单方法,所以在这个例子中它将是10.

谢谢,

Don*_*mer 31

如果您拥有或创建NSRange对象,NSIntersectionRange函数将为您执行此操作.只要确保在没有交叉点时检查它返回的内容.

NSRange a = NSMakeRange(10, 90);
NSRange b = NSMakeRange(60, 10);
NSRange intersection = NSIntersectionRange(a, b);
if (intersection.length <= 0)
    NSLog(@"Ranges do not intersect");
else
    NSLog(@"Intersection = %@", NSStringFromRange(intersection));
Run Code Online (Sandbox Code Playgroud)