web-dev-qa-db-fra.com

Comment créer un NSDictionary dans Objective-C?

Je veux créer un NSDictionary comme ce type:

"zones": 
{
    {
        "zoneId": "1",
        "locations": 
        {
            {
                "locId": "1",
                "locZoneId": "1",
                "locLatitude": "33.68506785633641",
                "locLongitude": "72.97488212585449"
            },
            {
                "locId": “2”,
                "locZoneId": "1",
                "locLatitude": "33.68506785633641",
                "locLongitude": "72.97488212585449"
            },
            {
                "locId": “3”,
                "locZoneId": "1",
                "locLatitude": "33.68506785633641",
                "locLongitude": "72.97488212585449"
            },
        }
    }
}

Mais je ne sais pas créer.

16
vky

Vous devez utiliser une combinaison de tableaux et de dictionnaires.

Les dictionnaires sont initialisés comme ceci:

NSDictionary *dict = @{ key : value, key2 : value2};

Tableaux sont initialisés comme ceci:

NSArray *array = @[Object1, Object2]
50
Marco

Nouvelle méthode Objective-C correcte et typée de création de dictionnaire.

Ce qui suit a un key fortement typé comme NSString et le value comme NSNumber.

Vous devriez prendre l'habitude de toujours définir les types où vous le pouvez, car en le faisant fortement tapé, le compilateur vous empêchera de faire des erreurs courantes et cela fonctionnera mieux avec Swift:

NSDictionary<NSString *, NSNumber *> *numberDictionary;

mais dans le cas ci-dessus, nous devons stocker un tableau dans le dictionnaire, ce sera donc:

NSDictionary<NSString *, id> *dataDictionary;

ce qui permet à la valeur d'être de n'importe quel type.

0
Hannes Sverrisson