2016-04-01 6 views
-4

Mein unten Code stürzt ab. Ich kann sehen, dass filteredOther0 Objekt hat. Ich denke, dass es aus diesem Grund abstürzt, aber ich bin wirklich ein Neuling in Xcode.Wie kann ich die Objektanzahl in Xcode überprüfen

Wie kann ich dieses Problem lösen?

NSString *UserID = @""; 
UserID = [[filteredOther objectAtIndex:selectedIndex.row] objectForKey:@"id"]; 
+1

Zeigen Sie die Fehlermeldung. Dieser Teil '[filteredOther objectAtIndex: selectedIndex.row]' verursacht den Absturz? Wir brauchen dann mehr Kontext. – Larme

+0

Zuerst müssen Sie prüfen, ob "filteredOther" null ist/Nullwert hat. –

+0

@MGP, keine Notwendigkeit, nach "Null" zu suchen, wenn OP es vor der Verwendung bereits initialisiert hat. – Hemang

Antwort

0

Mit der Methode der countNSArray. Sie können es als eine Methode, wie [array count] oder als eine Eigenschaft zugreifen: array.count.

if (filteredOther) { 

    if ([filteredOther count] > selectedIndex.row]) { 

      UserID = [[filteredOther objectAtIndex:selectedIndex.row] objectForKey:@"id"]; 
    } else { 
     NSLog(@"Index out of bounds"); 
    } 

} else { 

    NSLog(@"Array is nil"); 
} 
0

können Sie die filteredOther Zahl überprüfen filteredOther.count durch den Aufruf.

Nicht sicher, was genau Sie erreichen möchten, aber z.B.

if (filteredOther.count > selectedIndex.row) { 
    UserID = [[filteredOther objectAtIndex:selectedIndex.row] objectForKey:@"id"]; 
} 
0

ich, dass ich davon aus, haben Sie überprüfen, dass, Sie sind ein NSArray Zugriff auf die Objekte von NSDictionary Art mit.

Wenn Sie nicht sicher sind, ob Sie auf ein Objekt im Array-Index zugreifen möchten. Sie können eine Überprüfung wie folgt haben:

if (filteredOther.count > selectedIndex.row) { 
    //do good stuff. 
} else { 
    //need to check. 
} 
Verwandte Themen