2017-08-24 1 views
0

Actuellement, j'utilise [[NSUserDefaults standardDefaults] objectIsForcedForKey: @"TestKey"]; pour vérifier si la clé est gérée ou non.NSUserDefaults objectIsForcedForKey avec un dictionnaire imbriqué

Cela fonctionne très bien pour une plist qui aurait chaque clé sur la liste

<plist version="1.0"> 
    <dict> 
     <key>Test</key> 
     <integer>1</integer> 
    </dict> 
</plist> 

mais quand j'utilise des dictionnaires imbriqués - la fonction ne peut pas l'impression de voir que l'objet est géré

<plist version="1.0"> 
    <dict> 
     <key>TestKey1</key> 
     <integer>1</integer> 
     <dict> 
      <key>Dictionary2</key> 
      <dict> 
       <key>TestKey3</key> 
       <string>testkey3_value</string> 
      </dict> 
     </dict> 
    </dict> 
</plist> 

Lorsque je tente de faire quelque chose comme [[NSUserDefaults standardDefaults] objectIsForcedForKey: @"TestKey3"]; il ne semble pas se rendre compte qu'il est géré

Répondre

0

Votre domaine de défaut ne comprend pas une clé nommée "TestKey3". Le dictionnaire contenant cette clé est l'un des vôtres et n'est pas géré par NSUserDefaults. Par conséquent, les API de NSUserDefaults ne pourront pas voir '' TestKey3 ''.