NSPropertyListSerialization propertyListWithData produit incompatible conversion d'avertissement/d'erreur
Je suis en train de lire les données à partir d'un fichier plist, à l'aide de ce code:
NSString *error;
NSData * tempData = [[NSData alloc] initWithContentsOfFile:@"Data.plist"];
NSDictionary *temp = [NSPropertyListSerialization propertyListWithData:tempData options:NSPropertyListImmutable format:NSPropertyListXMLFormat_v1_0 error:&error];
Il délivre un avertissement/d'erreur indiquant:
"Incompatible entier pointeur de la conversion de l'envoi de 'int' pour le paramètre de type 'NSPropertyListFormat' (aka 'unsigned int *').
J'ai aucune idée de ce qui se passe. J'ai choisi le NSPropertyListXMLFormat_v1_0 à partir du code-allusion choix.
Aussi, je ne trouve pas de justification dans la documentation jusqu'à présent: pourquoi avez-vous à déclarer un pointeur de variable "erreur", puis utilisez la fonction "&erreur" que l'argument de l'erreur:. Qu'est-ce que l'esperluette?
OriginalL'auteur Gregir | 2011-05-26
Vous devez vous connecter pour publier un commentaire.
Lorsque vous essayez de lire données à l'aide de
NSPropertyListSerialization
, vous n'avez pas de spécifier un format: soit Vous passez à NULL, ou de passer l'adresse mémoire d'une variable.L'esperluette signifie "l'adresse en mémoire où cette variable est stockée" – en l'utilisant, vous donnez la méthode la possibilité d'écrire à cet emplacement de la mémoire, et de remplacer le contenu d'origine de la variable. Les deux
plistFormat
et (potentiellement)error
contiendra quelque chose de nouveau après cette méthode est appelée:plistFormat
dira vous quel format le plist était, contrairement à l'inverse, eterror
(qui doit être de classeNSError
) va vous parler de toutes les erreurs ont été rencontrées.OriginalL'auteur Scott Forbes