11

たとえば、2つの数値範囲の共通部分を見つけようとしています...

範囲Aは10から100、範囲Bは60から70です。

2つの範囲の交点を計算するためにifステートメントを大量に記述せずに簡単な方法があるので、この例では10になります。

ありがとう、

4

2 に答える 2

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));
于 2012-04-16T10:53:52.773 に答える
3

この目的には、次の方法を使用できます。

NSRange NSIntersectionRange (
   NSRange range1,
   NSRange range2
);

あなたはここですべての情報を見つけることができます:

NSIntersectionRange Apple Doc

于 2012-04-16T10:54:00.937 に答える