J'ai donc un NSDictionary où l'une des clés est un tableau de dictionnaires. La classe à laquelle correspond ma correspondance a des noms de clé et des paramètres de mise en correspondance. Est-ce que setValuesForKeysWithDictionary peut remplir les sous-dictionnaires pour moi? Quand je l'ai essayé, il semblait que ça remplissait les objets d'ordure ou quelque chose comme ça, mais je suis un newbe, alors peut-être que je fais quelque chose de mal. Est-ce que cette fonction fonctionne comme ça?Peut setValuesForKeysWithDictionary être utilisé avec un dictionnaire imbriqué
Répondre
Je me suis rendu compte que setValuesForKeysWithDictionary n'avait aucun moyen de savoir quel type d'objet remplir avec NSMutableArray. J'ai fini par créer un setter personnalisé pour la propriété array qui boucle manuellement les éléments du tableau (de NSDictionaries) que vous passez et appelle setValuesForKeysWithDictionary pour chacun d'entre eux.
Voici le code:
Il y a une propriété appelée itemList de type NSMutableArray que je veux rempli il des objets de type objet. Le setItemList setter parcourt le tableau d'objets mystères, convertissant chaque NSDictionary en mon type d'élément et les ajoute à un nouveau tableau. Tout commentaire sur la simplification du code serait le bienvenu.
Je veux également ajouter une certaine logique ici pour gérer une situation où le tableau contient déjà des objets Item au lieu de dictionnaires. Dans ActionScript, vous pouvez vérifier null après avoir essayé de lancer quelque chose pour voir si cela a fonctionné, pas sûr de ce que le processus équivalent serait ici. [item isMemberOfClass [Item class]]
évalue toujours à OUI, même si l'élément est un NSDictionary. Je ne comprends pas pourquoi ...
- (void) setItemList:(NSMutableArray*)input{
[itemList autorelease];
itemList = [[NSMutableArray alloc] initWithCapacity:input.count];
//loop through the array, creating an Item for for each object in the array
for(int i=0;i<input.count;i++){
Item* item = [Item new];
[item setValuesForKeysWithDictionary:(NSDictionary*)[input objectAtIndex:i]];
[itemList insertObject:item atIndex:i];
}
}
- (NSMutableArray*) itemList{
return itemList;
}
- 1. Peut-SqlMembershipProvider être utilisé avec Umbraco
- 2. Un NSFormatter peut-il être utilisé avec un NSPopUpButton?
- 3. Un DataBinder.Eval peut-il être imbriqué dans un autre DataBinder.Eval?
- 4. C# SelectSingleNode - Peut-il être utilisé récursivement?
- 5. Peut-Parallel.ForEach être utilisé en toute sécurité avec CloudTableQuery
- 6. Can Razor peut-il être utilisé avec Visual Studio 2008?
- 7. Comment * tag peut être utilisé en CSS?
- 8. Est-ce que RowSets peut être utilisé avec PreparedStatements?
- 9. peut loadUI être utilisé pour charger tester un service WCF
- 10. Est-ce que ASP.NET outputCacheProfiles peut être utilisé avec Response.Cache?
- 11. quel enregistreur peut être utilisé avec codeigniter php?
- 12. Interlocked.Exchange ne peut pas être utilisé avec des génériques?
- 13. Un événement peut-il être utilisé comme écouteur d'événement?
- 14. ne peut pas être supprimé utilisé par un autre processus
- 15. Un fichier déjà utilisé peut-il être cloné dans VB.NET?
- 16. Wrapper pour le dictionnaire imbriqué
- 17. Comment extraire des valeurs uniques d'un dictionnaire imbriqué avec Python?
- 18. Comment utiliser le dictionnaire imbriqué en C#?
- 19. erreur: typedef nom ne peut pas être imbriqué-name-spécificateur
- 20. Décomposition et décodage du dictionnaire imbriqué/json
- 21. espace négatif lié peut être utilisé en SVG?
- 22. Ordonné ManyToManyField qui peut être utilisé dans fieldsets
- 23. FB Connect - Peut-il être utilisé pour partager un message avec plusieurs utilisateurs?
- 24. Comment l'accéléromètre peut-il être utilisé dans un contrôleur avec une vue séparée?
- 25. NSAlert peut-il être utilisé pour créer une fenêtre flottante?
- 26. Can Netbeans peut-il être utilisé comme IDE pour Sinatra?
- 27. Comment vérifier que [out] params dans COM peut être utilisé?
- 28. Comment jFrames peut-il être utilisé à l'intérieur de JavaFX?
- 29. Le sphinx peut-il être utilisé sur cassandra?
- 30. App.xaml style ne peut pas être utilisé dans Usercontrol, pourquoi?