2017-08-12 6 views
0

Meine Array-Länge ist 32 und das Lied bei 28. aber ich bekomme die Nummer in Thousends Und nicht befriedigend die Wenn ..... ([AlbenAnsSongs sharedManager] .MovieNames das ist ein Array). Jede Hilfe wäre willkommen.Falsche Nummer am Array für den Index des Objekts

int number=0; 
    number=(int)[[AlbumsAnsSongs sharedManager].movieNames indexOfObject:song]; 
    if (number< [AlbumsAnsSongs sharedManager].movieNamesPath.count) 
{ 
    [self metadata:[[AlbumsAnsSongs sharedManager].movieNamesPath objectAtIndex:number]]; 
} 
+0

Was genau enthält 'movieNames'? und was ist 'song'? –

+0

Filmnamen enthält eine Liste von Liedern Namen Und Song Enthalten Song-Name – Abhiram

+0

so 'MovieNames' ist ein String-Array und' Song' ist eine Zeichenfolge? –

Antwort

0

In der Dokumentation für NSArray finden Sie die folgenden Informationen über den Rückgabetyp der indexOfObject: Methode:

Wenn keines der Objekte in dem Array anObject gleich ist, gibt NSNotFound.

So ist die große Anzahl Sie sprechen, kann der Wert für NSNotFound sein, die wie folgt erklärt:

static const NSInteger NSNotFound = NSIntegerMax; 

Also vielleicht dein Lied nicht gefunden wird in dem Array und Ihre wenn Block nicht ausgeführt wird . Überprüfen Sie, ob NSNotFound, um zu sehen, was wirklich falsch läuft:

NSInteger number = [[AlbumsAnsSongs sharedManager].movieNames indexOfObject:song]; 
if (number != NSNotFound) { 
    if (number < [[AlbumsAnsSongs sharedManager].movieNamesPath.count { 
     [self metadata:[[AlbumsAnsSongs sharedManager].movieNamesPath objectAtIndex:number]]; 
    } else { 
     NSLog(@"could not find path for song"); 
    } 
} else { 
    NSLog(@"could not find song"); 
} 

Sind Sie sicher, dass Ihre Liste wirklich den Song enthält, die Sie suchen?

+0

Ich möchte Song-Pfad im Index der Songs Name Array bekommen Beide sind die gleichen Referenzen man hat Pfade und ein anderer hat Namen, so habe ich Namen, so muss ich Pfad dieses Namens – Abhiram

+0

bekommen ok. Ich habe meine Antwort bearbeitet. was wird protokolliert? –

+0

Nicht nur Code eingeben. Erklären Sie, was falsch war und erklären Sie, wie Ihre Antwort das Problem löst. – rmaddy

Verwandte Themen