如何解决NSPropertyListSerialization propertyListWithData产生不兼容的转换警告/错误
|| 我正在尝试使用以下代码从plist读取数据:Nsstring *error;
NSData * tempData = [[NSData alloc] initWithContentsOfFile:@\"Data.plist\"];
NSDictionary *temp = [nspropertyListSerialization propertyListWithData:tempData options:nspropertyListImmutable format:nspropertyListXMLFormat_v1_0 error:&error];
它发出警告/错误说明:
\“不兼容的整数到指针转换,将\'int \'发送到\'nspropertyListFormat \'类型的参数(又名\'unsigned int * \')。
我不知道发生了什么。我从代码提示选项中选择了nspropertyListXMLFormat_v1_0。
另外,到目前为止,我在文档中都找不到这样做的理由:为什么必须为\“ error \”声明一个指针变量,然后使用\“&error \”作为error:的参数。 “&”号是做什么用的?
解决方法
当您尝试使用
NSPropertyListSerialization
读取数据时,您没有指定格式:您传入NULL或传递变量的内存地址。
NSError *error;
NSData * tempData = [[NSData alloc] initWithContentsOfFile:@\"Data.plist\"];
NSPropertyListFormat plistFormat;
NSDictionary *temp = [NSPropertyListSerialization propertyListWithData:tempData options:NSPropertyListImmutable format:&plistFormat error:&error];
“&”号表示\“该变量存储在内存中的地址\” –通过使用它,您使该方法能够写入该内存位置,并替换该变量的原始内容。在调用此方法之后,pot3ѭ和(可能)contain4ѭ都将包含新的内容:plistFormat
将告诉您plist的格式,与之相反,error
(应属于should7ѭ类)将告诉您遇到的任何错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。