2016-12-05 3 views

Répondre

1

je ferais probablement quelque chose comme ceci:

for (var key in [userDict allKeys]) 
{ 
    console.log(key, userDict[key]); 
} 

Mais votre le dictionnaire semble faux; ceci:

@{ 
    @"name":   @"Jack", 
    @"secondName": @"Buck", 
    @"name":   @"Jacob", 
    @"secondName": @"Smith" 
}; 

remplacent les name et secondName indices et entraîner:

@{ 
    @"name":   @"Jacob", 
    @"secondName": @"Smith" 
}; 

Vous avez probablement voulu un CPArray de CPDictionary:

var users = [ 
    @{ 
     @"name":   @"Jacob", 
     @"secondName": @"Smith" 
    }, 
    @{ 
     @"name":   @"Jacob", 
     @"secondName": @"Smith" 
    } 
]; 

Ensuite, si vous en boucle sur users; vous obtenez un dictionnaire utilisateur pour chaque étape de la boucle, et vous pouvez adresser ses 'indices (propriétés). Depuis deux CPArray et CPDictionary sont pontés tollfree à leurs homologues javascript natifs, vous pouvez toujours le faire:

for (var ix = 0; ix < users.length; ix ++) 
{ 
    var user = users[ix]; 
    console.log(user.name, user.secondName); 
} 

Hope this helps.

+0

Cela a l'air bien! C'est incroyablement charmant de regarder des objectifs-c et js mixés. Par défaut, j'écrirais user.count;) Je suis un peu confus, mais je pense que bientôt je peux apporter mes projets web. Je vous remercie. Dernière question: il y a une idée d'auto-complétion pour Cappuccino? merci agin – sundsx

+0

@sundsx: Il ya quelques extensions d'éditeur de texte là-bas qui fournissent une auto-complétion limitée mais je ne suis pas au courant d'un "intellisense" complet comme IDE à l'heure actuelle. Personnellement, j'utilise principalement textmate (http://www.macromates.com) et atom (http://atom.io/), ils ont tous les deux un soutien limité. – Kris