2017-05-11 2 views
0

si cas 1: range1 est (5,10) et range2 est (8,0) il devrait retourner vrai. cas 2: range1 est (5,10) et range2 est (5,4) il devrait retourner vrai. cas 3 si range1 est (5,10) et range2 est (14,20) il devrait retourner vrai. Comment implémenter une fonction qui renvoie true pour tous les cas. Je veux vérifier si une gamme se croise avec une autre gamme ou complètement à l'intérieur.Vérifiez si une NSRange se trouve dans une autre NSRange ou si elle est inter-connectée avec elle dans swift?

+1

http://stackoverflow.com/questions/10172688/objective-c-compare-range-intersect? Ne devrait pas être de grandes difficultés à adapter d'Objective-C à Swift – Larme

+0

'NSRange (8,0)' est une plage * vide *, il ne se chevauche avec rien. –

+0

Mais cette plage est comprise dans Range (5,10). Je veux aussi vérifier l'état des chutes. –

Répondre

2

La plage (méthode Swift) comporte un chevauchement de méthodes. Si vous voulez travailler avec NSRange il serait:

NSIntersectionRange(range1, range2).length > 0 
+0

mais j'ai deux objets NSRange. –

+0

J'ai édité ma réponse pour inclure la version NSRange. – Gerriet