web-dev-qa-db-fra.com

Comment vérifier que NSArray est nul ou vide dans iOS?

Une fois qu'un NSArray a été alloué et init, s'il n'y a rien ajouté au NSArray, comment vérifier qu'il est nul ou vide?

Merci.

51
user403015
if (array == nil || [array count] == 0) {
    ...
}
108
Chris Doble

NSArray a la méthode de comptage, une façon courante de le faire serait ...

if (![self.myArray count])
{
}

Cela vérifiera si le tableau ne contient rien ou s'il est défini sur nil.

25
Joshua Weinberg

Alors que nous jetons tous les mêmes réponses, je pensais que je le ferais aussi.

if ([array count] < 1) {
    ...
}
12
shabbirv

et un autre

if(!array || array.count==0)
9
Jason Cragun

if([myarray count]) Il vérifie à la fois le tableau non vide et nul.

6
chaithraVeeresh

Vous pouvez utiliser ceci:

if (!anArray || [anArray count] == 0) {
    /* Your code goes here */
}
3
RandomGuy

Essaye celui-là

if(array == [NSNull null] || [array count] == 0) {
}
3
PgmFreek
if([arrayName count]==0)
{
    //array is empty.
}
else
{
   //array contains some elements.
}
3
soorej babu

utilisation

(array.count ? array : nil)

Il retournera nil si array = nil aussi bien que [array count] == 0

3
infiniteLoop
if (array == nil && [array count] == 0) {
...
}

J'utilise ce code parce que j'ai des problèmes avec ma sélection lorsque son tableau est vide

Mon code est

- (IBAction)btnSelect:(UIBarButtonItem *)sender { // 52
if (self.array != nil && [self.array count] != 0) {
    NSString *select = [self.array objectAtIndex:[self.pickerView selectedRowInComponent:0]];

    if ([self.pickListNumber isEqualToString:@"1"]) {
        self.textFieldCategory.text = select;
        self.textFieldSubCategory.text = @"";
    } else if ([self.pickListNumber isEqualToString:@"2"]) {
        self.textFieldSubCategory.text = select;
    }

    [self matchSubCategory:select];
} else {
    UIAlertView *myAlertView = [[UIAlertView alloc] initWithTitle:@"Error"
                                                          message:@"You should pick Category first"
                                                         delegate:nil
                                                cancelButtonTitle:@"OK"
                                                otherButtonTitles: nil];
    [myAlertView show];
}

[self hidePickerViewContainer:self.viewCategory];
}
2
user313879