Question

J'ai NSMutableArray:

NSMutableArray *temp = //get list from somewhere.

Maintenant, il existe une méthode objectAtIndex qui renvoie l'objet à l'index spécifié.

Ce que je veux faire est que, je veux d'abord vérifier si un objet à l'index spécifié existe ou non. Si elle existe que je veux aller chercher cet objet. Quelque chose comme:

if ([temp objectAtIndex:2] != nil)
{
     //fetch the object
}

Mais je me exception à l'instruction if disant que l'indice au-delà lié.

S'il vous plaît quelqu'un me dire comment y parvenir.

Était-ce utile?

La solution

vous ne pouvez pas avoir des fentes « vides » dans un NSArray. Si [count monTableau] == 2 tableau-à-dire comporte deux éléments, alors vous savez bien sûr qu'il ya un objet à l'index 0 et un objet à l'index 1. Ceci est toujours le cas.

Autres conseils

Vérifiez la première longueur en utilisant la méthode de comptage.

if ([temp count] > indexIWantToFetch)
    id object = [temp objectAtIndex:indexIWantToFetch];

vous pouvez le faire de cette façon:

Lorsque vous initialisez, faire quelque chose comme:

NSMutableArray *YourObjectArray = [[NSMutableArray alloc] init];
for(int index = 0; index < desiredLength; index++)
{
   [YourObjectArray addObject:[NSNull null]];
}

Ensuite, lorsque vous voulez ajouter mais il faut vérifier si elle existe déjà, faites quelque chose comme ceci:

YourObject *object = [YourObjectArray objectAtIndex:index];
if ((NSNull *) object == [NSNull null]) 
{
    /// TODO get your object here..

    [YourObjectArray replaceObjectAtIndex:index withObject:object];
}

Il suffit de vérifier que l'indice est> = 0 et

Retourne le nombre d'objets actuellement dans le récepteur.

- (NSUInteger)count

int arrayEntryCount = [temp count];

D'abord tout ce que vous vérifiez la longueur du tableau -

* NSMutableArray temp = // obtenir la liste de quelque part.

Check- if (longueur de temp) {

Votre objectclass * obj = [temp objectAtIndex: indexnumber];

// indexnumber est 0,1,2, 3 ou quelqu'un ...

}

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top