J'utilisais un NSMutableArray
et je me suis rendu compte que l'utilisation d'un dictionnaire est beaucoup plus simple pour ce que j'essaie de réaliser.
Je veux enregistrer une clé en tant que NSString
et une valeur en tant que int
dans le dictionnaire. Comment cela se fait-il? Deuxièmement, quelle est la différence entre mutable et un dictionnaire normal?
iphone
objective-c
nsdictionary
système
la source
la source
En définissant, vous utiliseriez la
setValue:(id)value forKey:(id)key
méthode de l'NSMutableDictionary
objet:Ou en Objective-C moderne:
La différence entre mutable et «normal» est, eh bien, la mutabilité. C'est-à-dire que vous pouvez modifier le contenu de
NSMutableDictionary
(etNSMutableArray
) alors que vous ne pouvez pas le faire avec "normal"NSDictionary
etNSArray
la source
[{image: "/path/to/img/1.jpg", data: "foo bar 1"}, {image: "/path/to/img/2.jpg", data: "foo bar 2"}, ..., {image: "/path/to/img/N.jpg", data: "foo bar N"}]
Chaque fois que le tableau est déclaré, alors seulement nous devons ajouter la valeur-clé dans NSDictionary comme
nous ne pouvons pas ajouter ou supprimer les valeurs de clé dans ce NSDictionary
Où, comme dans NSMutableDictionary, nous pouvons ajouter les objets après l'initialisation du tableau également en utilisant cette méthode
pour supprimer la valeur de clé, nous devons utiliser le code suivant
la source
Version de mise à jour
Objectif c
Créer:
Changement:
La syntaxe abrégée est appelée
Objective-C Literals
.Rapide
Créer:
Changement:
la source
Vous voulez demander "quelle est la différence entre un tableau ou un dictionnaire mutable et non mutable". Plusieurs fois, différents termes sont utilisés pour décrire des choses que vous connaissez déjà. Dans ce cas, vous pouvez remplacer le terme «mutable» par «dynamique». Ainsi, un dictionnaire ou un tableau mutable est un dictionnaire "dynamique" et peut changer à l'exécution, alors qu'un dictionnaire ou un tableau non mutable est un dictionnaire "statique" et défini dans votre code et qui ne change pas à l'exécution (en d'autres termes , vous n'ajouterez pas, ne supprimerez pas ou ne trierez pas les éléments.)
Quant à la manière de procéder, vous nous demandez de répéter la documentation ici. Tout ce que vous avez à faire est de rechercher un exemple de code et la documentation Xcode pour voir exactement comment cela est fait. Mais la chose mutable m'a aussi jeté quand j'ai appris pour la première fois, alors je vais vous donner celle-là!
la source
Pour référence, vous pouvez également utiliser
initWithDictionary
pour initier leNSMutableDictionary
avec un littéral:la source