ok j'ai un plist comme celui-ciL'évaluation des éléments dans plist iphone sdk
`
<dict>
<key>Rows</key>
<array>
<dict>
<key>WireSize</key>
<string>16 AWG</string>
<key>Children</key>
<array>
<dict>
<key>Cooper 60°C (140°F)</key>
<string>0</string>
</dict>
<dict>
<key>Cooper 75°C (167°F)</key>
<string>0</string>
</dict>
<dict>
<key>Cooper 90°C (194°F)</key>
<string>14</string>
</dict>
<dict>
<key>Aluminum 60°C (140°F)</key>
<string>0</string>
</dict>
<dict>
<key>Aluminum 75°C (167°F)</key>
<string>0</string>
</dict>
<dict>
<key>Aluminum 90°C (194°F)</key>
<string>0</string>
</dict>
</array>
</dict>
<dict>
<key>WireSize</key>
<string>16 AWG</string>
<key>Children</key>
<array>
<dict>
<key>Cooper 60°C (140°F)</key>
<string>0</string>
</dict>
<dict>
<key>Cooper 75°C (167°F)</key>
<string>0</string>
</dict>
<dict>
<key>Cooper 90°C (194°F)</key>
<string>14</string>
</dict>
<dict>
<key>Aluminum 60°C (140°F)</key>
<string>0</string>
</dict>
<dict>
<key>Aluminum 75°C (167°F)</key>
<string>0</string>
</dict>
<dict>
<key>Aluminum 90°C (194°F)</key>
<string>0</string>
</dict>
</array>
</dict>
</array>
`
et essayé de lire les valeurs de mais pas le succès
J'utilise ce code
enter NSBundle *bundle = [NSBundle mainBundle];
NSString *plistPath = [bundle pathForResource:@"Table 310-16" ofType:@"plist"];
NSDictionary *dictionary = [[NSDictionary alloc] initWithContentsOfFile:plistPath];
for (id key in dictionary) {
NSArray *array = [dictionary objectForKey:key];
NSLog(@"key: %@, value: %@", key, [array objectAtIndex:0]);
} here
et les résultats sont
key: Rows, value: {
Children = (
{
"Cooper 60\U00b0C (140\U00b0F)" = 0;
},
{
"Cooper 75\U00b0C (167\U00b0F)" = 0;
},
{
"Cooper 90\U00b0C (194\U00b0F)" = 14;
},
{
"Aluminum 60\U00b0C (140\U00b0F)" = 0;
},
{
"Aluminum 75\U00b0C (167\U00b0F)" = 0;
},
{
"Aluminum 90\U00b0C (194\U00b0F)" = 0;
}
);
WireSize = "16 AWG";
}
mais ne savent toujours pas comment et valeur spécifique, par exemple aluminium 60 ° C (140 ° F) ou ou 16 AWG toute aide serait appresiated
HP
Les clés NSDictionary peuvent être plus que de simples chaînes NSS, elles doivent simplement être conformes au protocole NSCopying. Aussi, comme cela a été souligné, vous avez probablement voulu dire -valueForKey: au lieu de objectForValue :. –
Brad: C'est correct. D'après les documents Apple: «En général, une clé peut être n'importe quel objet (à condition qu'elle soit conforme au protocole NSCopying - voir ci-dessous), mais notez que lorsque vous utilisez le codage par valeur-clé, la clé doit être une chaîne. Fondamentaux). " –