2012-04-13 4 views
0

J'ai mis en œuvre l'ensemble du contenu du dictionnaire les méthodes d'accès, mais il est l'accès qu'un seul contenu, s'il vous plaît aider sur cecomment accéder à toute la gamme de contenu du dictionnaire

Voici mon fichier de données

<__NSArrayM 0x8b7a350>(
{ 
    clkDate = "Wednesday, April 11, 2012"; 
    resData =  (
       { 
      data = 10; 
      independentItem = 0; 
      module = 6; 
      newDate = "11-4-2012"; 
      newTime = "13:31"; 
      seqCounter = 101; 
      sequence = 10007; 
      session = 101; 
      timeframe = Breakfast; 
      timestamp = "2012-04-11 08:01:27 +0000"; 
      title = "Glucose reading : Low"; 
      type = L; 
     }, 
       { 
      data =    { 
       hours = 0; 
       minutes = 0; 
       which = "Walking:(null)"; 
      }; 
      independentItem = 1; 
      module = 13; 
      seqCounter = 101; 
      sequence = 10009; 
      session = 101; 
      timestamp = "2012-04-12 08:01:40 +0000"; 
      title = "Low Cause: Increased Exercise"; 
     } 
    ); 
    seqCounter = 101; 
}, 
{ 
    clkDate = "Thursday, April 12, 2012"; 
    resData =  (
       { 
      data = 200; 
      independentItem = 0; 
      module = 6; 
      newDate = "12-4-2012"; 
      newTime = "13:31"; 
      seqCounter = 102; 
      sequence = 10017; 
      session = 101; 
      timeframe = Breakfast; 
      timestamp = "2012-04-12 08:01:46 +0000"; 
      title = "Glucose reading : High"; 
      type = H; 
     }, 
       { 
      data =    { 
       hours = 0; 
       minutes = 0; 
       which = "Other Light:Kkkkk"; 
      }; 
      independentItem = 1; 
      module = 26; 
      seqCounter = 102; 
      sequence = 10022; 
      session = 101; 
      timestamp = "2012-04-11 18:30:00 +0000"; 
      title = "High Cause: Decreased Exercise"; 
     } 
    ); 
    seqCounter = 102; 
}, 
{ 
    clkDate = "Thursday, April 12, 2012"; 
    clkIndependentItem = 1; 
    resData =  (
       { 
      data =    { 
       bathing = 1; 
       driving = 1; 
       grocery = 1; 
       meal = 1; 
      }; 
      independentItem = 1; 
      module = 31; 
      seqCounter = 103; 
      sequence = 10035; 
      session = 101; 
      timestamp = "2012-04-12 08:02:32 +0000"; 
      title = "High Cause: Decreased activity"; 
     } 
    ); 
    seqCounter = 103; 
} 
) 

dans le fichier de données ci-dessus j'ai besoin d'accéder à "independentItem = 1" éléments liés

i essayées code source est

for (int i = 0; i < [self.gluClkDetailArray count]; i++) 
     { 
      NSMutableDictionary *mDict = [self.gluClkDetailArray objectAtIndex:i]; 
      { 
       NSMutableArray *mResData = [mDict objectForKey:@"resData"]; 
       NSDate *mTimestamp = [[mResData objectAtIndex:0] objectForKey:@"timestamp"]; 

       NSDateFormatter *mFormatter = [[NSDateFormatter alloc] init]; 
       [mFormatter setDateStyle:NSDateFormatterFullStyle]; 

       NSString *mClkDate = [mFormatter stringFromDate:mTimestamp]; 
       [mDict setValue:mClkDate forKey:@"clkDate"]; 

       NSString *mIndItem = [[mResData objectAtIndex:0] objectForKey:@"independentItem"]; 
       if (mIndItem.intValue == 1) 
       { 
        [mDict setValue:mIndItem forKey:@"clkIndependentItem"]; 
        [mIndpendentArray addObject:mDict]; 
       } 
       [gluClkResultArray addObject:mDict]; 

     } 

quand je mets le mResData objectAtIndex: 0 au lieu de i, l'application a planté. J'ai tableau sauvé des valeurs de dictionnaire en fonction de la séquence contre

Merci à l'avance

+0

Il semble que votre tableau ne soit correctement configuré avec aucun contenu. – SomaMan

+1

En savoir plus sur les points d'arrêt et le débogage des paramètres en parcourant le code et en examinant les valeurs des objets et des variables. Ce sera l'un des plus grands gains de temps que vous apprendrez car vous serez en mesure de dépister des problèmes comme celui-ci beaucoup plus rapidement –

Répondre

0

changement

NSString *mIndItem = [[mResData objectAtIndex:0] objectForKey:@"independentItem"]; 

que:

NSString *mIndItem = [[mResData objectAtIndex:1] objectForKey:@"independentItem"]; 

Le independentItem est dans le dictionnaire que dans au index 1, pas 0.

Espérons que cela aide

Questions connexes