2010-04-20 4 views
4

Question de programmation assez basique, je sais que PHP a une fonction pour cela, mais est-ce que l'iPhone OS en a un?Comment vérifier si * nombre * est dans un tableau

Je veux vérifier si l'indexPath actuel est une valeur dans un tableau.

PHP Exemple:

<?php 
$indexPath = 3; 
$array = array("0", "1", "2", "3", "4"); 
if (in_array($indexPath, $array)) { 
    // Do something 
} 
?> 

Est-ce que quelqu'un sait comment faire la même chose dans iOS?

+0

Numéro ou chemin d'index? Un chemin d'index est composé de plusieurs nombres. – kennytm

+0

Je pense qu'un tableau de caractères pourrait être traité comme une chaîne, donc vous ne pourriez pas utiliser quelque chose comme $ exists = strpos ($ array, $ indexPath); –

Répondre

20

containsObject:
Renvoie une valeur booléenne qui indique si un objet donné est présent dans le récepteur.

- (BOOL)containsObject:(id)anObject

Par exemple:

if ([arrayofNumbers containsObject:[NSNumber numberWithInt:516]]) 
    NSLog(@"WIN"); 

ou pour vérifier un indexPath:

if ([arrayofIndexPaths containsObject:indexPath]) 
    NSLog(@"Yup, we have it"); 

Je précise qu'un NSIndexPath n'est pas un numéro, mais une série de chiffres "représente le chemin vers un noeud spécifique dans une arborescence de collections de tableaux imbriqués" comme expliqué plus en détail dans .

+0

Plus précisément sur l'iPhone, vous devriez regarder la catégorie NSIndexPath UITableView, où ils définissent le concept de section et de ligne ... NSIndexPath lui-même est très abstrait, mais sur l'iPhone, vous finissez vraiment par l'utiliser pour ces deux Nombres. –

+0

Merci, mais ça ne marche pas .. J'ai un tableau avec les valeurs 3, 8 et 2. J'utilise ceci pour vérifier si l'indexpath.row est là. 'if ([array containsObject: [NSNumber numberWithInt: indexPath.row]]) { \t \t NSLog (@" WIN "); \t} ' – Emil

+0

pouvez-vous afficher le code que vous avez utilisé pour construire votre tableau? est-il composé de NSNumbers ou d'ints? – prendio2

9

Vous voulez containsObject ou indexOfObject:

unsigned int myIndex = [myArray indexOfObject: [NSNumber numberWithInt: 3]]; 
if(myIndex != NSNotFound) { 
    // Do something with myIndex 
} 

Ou:

if([myArray containsObject: [NSNumber numberWithInt: 3]]) { 
    // Just need to know if it's there... 
} 
Questions connexes