2010-01-14 6 views
0

après le débogage beaucoup, j'ai déterminé que ce code ne tient pas compte de la boucle d'énumération rapide et sauter aveuglément à la fin:application ne pas entrer de boucle rapide Enumeration

-(void)loadOutAnnotations 
{ 
    NSLog(@"entering Annotation enumeration Loop"); 

    iProspectFresno_LiteAppDelegate *appDelegate =(iProspectFresno_LiteAppDelegate *)[[UIApplication sharedApplication] delegate]; 

    FlipsideViewController *viewController = (FlipsideViewController *)[[UIApplication sharedApplication] delegate]; 

    CLLocationCoordinate2D workingCoordinate; 
    NSLog(@"initializing"); 
    NSMutableArray* mines = [[NSMutableArray alloc] initWithArray(NSMutableArray *)appDelegate.mines]; 
    for (id mine in mines) 
    { 
     NSLog(@"in the loop"); 
     //rest of loop code 
    } 
} 

l'imprime console « entrant dans l'énumération Annotation boucle » et comme l'initialisation, mais il semble contourner complètement la boucle d'énumération, car il n'imprime pas "dans la boucle". Qu'est-ce que je fais mal?

+0

De quel type est appDelegates.mines? –

+0

c'est un NSMutableArray –

+0

Ceci est un peu hors-sujet, mais vous ne devriez pas utiliser le délégué pour garder les tableaux. En outre, vous avez oublié un deux-points après 'initWithArray'. –

Répondre

1

Etes-vous sûr que appDelegate.mines n'est pas vide?

+0

oui, ça semble être ça. mon code d'initialisation de base de données contient: NSLog (@ "première instruction if") si (sqlite3_prepare_v2 (base de données, instructionSQL, -1, et compileStatement, NULL) == SQLITE_OK) { NSLog (@ "seconde instruction if initialisé"); } il semble que la "seconde instruction if initialisée" n'apparaisse pas sur la console. –

+1

Pourquoi n'utilisez-vous pas les données de base? Besoin de prendre en charge les appareils pré-3.0? –

+0

Id figure J'apprendrais des données de base après avoir exécuté cette application. sorte de preuve de concept; et oui, je voudrais soutenir les appareils pré-3.0. –

Questions connexes